The English version of these pages have been updated significantly

This commit is contained in:
amarantha-k
2024-11-04 12:32:48 -08:00
parent 6c790057bd
commit e9ea9b965e
6 changed files with 0 additions and 844 deletions

View File

@@ -1,167 +0,0 @@
---
html: cancel-a-check.html
parent: use-checks.html
seo:
description: 送金を行わずにCheckを取り消す。
labels:
- Checks
---
# Checkの取消し
_[Checks Amendment][]により追加されました。_
このチュートリアルでは、[Check](../../../../concepts/payment-types/checks.md)を取り消す手順を説明します。この手順を実行すると、送金を行わずに[レジャーのCheckオブジェクト](../../../../references/protocol/ledger-data/ledger-entry-types/check.md)が削除されます。
着信したCheckが不要な場合、取り消すことができます。送信時に内容を誤って入力した場合や状況が変化した場合に、送信したCheckを取り消すこともできます。有効期限切れのCheckはレジャーから削除する必要があります。これにより、送金元に[所有者準備金](../../../../concepts/accounts/reserves.md#所有者準備金)が戻ります。
## 前提条件
このチュートリアルでCheckを取り消すには、以下が必要です。
- 現在レジャーに記録されているCheckオブジェクトのIDが必要です。
- たとえばこのチュートリアルの例では、IDが`49647F0D748DC3FE26BDACBC57F251AADEFFF391403EC9BF87C97F67E9977FB0`のCheckを取り消しますが、この手順を自身で実行する場合は異なるIDを使用する必要があります。
- CheckCancelトランザクションを送信する資金供給のあるアカウントの**アドレス**と**シークレットキー**。Checkが有効期限切れでない限り、このアドレスは、Checkの送金元または受取人のいずれかでなければなりません。
- トランザクションに[安全に署名できる手段](../../../../concepts/transactions/secure-signing.md)。
- [クライアントライブラリ](../../../../references/client-libraries.md)またはHTTPライブラリ、WebSocketライブラリなど。
## 1. CheckCancelトランザクションの準備
[CheckCancelトランザクション][]のフィールドの値を決定します。以下のフィールドは必要最小限のフィールドです。その他のフィールドはオプションまたは署名時に[自動入力](../../../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド)可能なフィールドです。
| フィールド | 値 | 説明 |
|:------------------|:-----------------|:--------------------------------------|
| `TransactionType` | 文字列 | Checkを取り消す場合は文字列`CheckCancel`を使用します。 |
| `Account` | 文字列(アドレス) | Checkを取り消す送信元のアドレス。あなたのアドレスです。 |
| `CheckID` | 文字列 | レジャーで取り消すCheckオブジェクトのID。この情報を確認するには、[txメソッド][]を使用してCheckCreateトランザクションのメタデータを調べるか、または[account_objectsメソッド][]を使用してCheckを探します。 |
### CheckCancelトランザクションの準備の例
Checkを取り消す例を以下に示します。
{% tabs %}
{% tab label="JSON-RPC、WebSocket、またはコマンドライン" %}
```json
{
"TransactionType": "CheckCancel",
"Account": "rUn84CUYbNjRoTQ6mSW7BVJPSVJNLb1QLo",
"CheckID": "49647F0D748DC3FE26BDACBC57F251AADEFFF391403EC9BF87C97F67E9977FB0",
"Fee": "12"
}
```
{% /tab %}
{% tab label="ripple-lib 1.x" %}
{% code-snippet file="/_code-samples/checks/js/prepareCancel.js" language="js" /%}
{% /tab %}
{% /tabs %}
## 2. CheckCancelトランザクションの署名
{% partial file="/@l10n/ja/docs/_snippets/tutorial-sign-step.md" /%}
### リクエストの例
{% tabs %}
{% tab label="ripple-lib 1.x" %}
{% code-snippet file="/_code-samples/checks/js/signCancel.js" language="js" /%}
{% /tab %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/sign-cancel-req.sh" language="bash" /%}
{% /tab %}
{% /tabs %}
### レスポンスの例
{% tabs %}
{% tab label="ripple-lib 1.x" %}
{% code-snippet file="/_code-samples/checks/js/sign-cancel-resp.txt" language="" /%}
{% /tab %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/sign-cancel-resp.txt" language="json" /%}
{% /tab %}
{% /tabs %}
## 3. 署名済みCheckCancelトランザクションの送信
{% partial file="/@l10n/ja/docs/_snippets/tutorial-submit-step.md" /%}
### リクエストの例
{% tabs %}
{% tab label="ripple-lib 1.x" %}
{% code-snippet file="/_code-samples/checks/js/submitCancel.js" language="js" /%}
{% /tab %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/submit-cancel-req.sh" language="bash" /%}
{% /tab %}
{% /tabs %}
### レスポンスの例
{% tabs %}
{% tab label="ripple-lib 1.x" %}
{% code-snippet file="/_code-samples/checks/js/submit-cancel-resp.txt" language="js" /%}
{% /tab %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/submit-cancel-resp.txt" language="json" /%}
{% /tab %}
{% /tabs %}
## 4. 検証の待機
{% partial file="/@l10n/ja/docs/_snippets/wait-for-validation.md" /%}
## 5. 最終結果の確認
トランザクションのステータスを確認するには、CheckCancelトランザクションの識別用ハッシュを指定した[txメソッド][]を使用します。トランザクションが成功したことを示す`"TransactionResult": "tesSUCCESS"`フィールドをトランザクションメタデータから検索し、またこの結果が最終結果であることを示す`"validated": true`フィールドを結果から検索します。
トランザクションによって[Checkレジャーオブジェクト](../../../../references/protocol/ledger-data/ledger-entry-types/check.md)が削除されたことを示す`"LedgerEntryType": "Check"`を含む`DeletedNode`オブジェクトを、トランザクションメタデータから検索します。このオブジェクトの`LedgerIndex`はCheckのIDに一致している必要があります。
### リクエストの例
{% tabs %}
{% tab label="ripple-lib 1.x" %}
{% code-snippet file="/_code-samples/checks/js/getCancelTx.js" language="js" /%}
{% /tab %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/tx-cancel-req.sh" language="bash" /%}
{% /tab %}
{% /tabs %}
### レスポンスの例
{% tabs %}
{% tab label="ripple-lib 1.x" %}
{% code-snippet file="/_code-samples/checks/js/get-cancel-tx-resp.txt" language="json" /%}
{% /tab %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/tx-cancel-resp.txt" language="json" /%}
{% /tab %}
{% /tabs %}
{% raw-partial file="/docs/_snippets/common-links.md" /%}

View File

@@ -1,197 +0,0 @@
---
html: cash-a-check-for-a-flexible-amount.html
parent: use-checks.html
seo:
description: Checkから可能な限りの額を受領します。
labels:
- Checks
---
# Checkの変動金額での換金
_[Checks Amendment][]により追加されました。_
Checkがレジャーに記録されており有効期限切れではない場合は、指定受取人は`DeliverMin`フィールドを指定した[CheckCashトランザクション][]を送信することで、Checkを変動金額で換金して受領できます。この方法でCheckを換金すると、受取人は送金を最大限受領でき、Checkの送金元からは、Checkの`SendMax`の全額が引き落とされるか、または可能な限りの額が引き落とされます。Checkの受取人に`DeliverMin`以上の額を送金できない場合は換金が失敗します。
Checkから可能な限りの額を受領したい場合には、変動金額でCheckを換金できます。
指定受取人は、[Checkを正確な金額で換金する](cash-a-check-for-a-flexible-amount.md)こともできます。
## 前提条件
{% partial file="/@l10n/ja/docs/_snippets/checkcash-prereqs.md" /%}
## 1. CheckCashトランザクションの準備
[CheckCashトランザクション][]のフィールドの値を決定します。Checkを変動金額で換金する場合、以下のフィールドは必要最小限です。それ以外のフィールドはオプションまたは署名時に[自動入力](../../../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド)可能なフィールドです。
| フィールド | 値 | 説明 |
|:------------------|:--------------------------|:-----------------------------|
| `TransactionType` | 文字列 | 値が`CheckCash`の場合、これはCheckCashトランザクションです。 |
| `Account` | 文字列(アドレス) | Checkを換金する送信者のアドレス。あなたのアドレスです。 |
| `CheckID` | 文字列 | レジャーで換金するCheckオブジェクトのID。この情報を確認するには、[txメソッド][]を使用してCheckCreateトランザクションのメタデータを調べるか、または[account_objectsメソッド][]を使用してCheckを探します。 |
| `DeliverMin` | 文字列またはオブジェクト(額) | Checkから受領する最小額。この額を受領できない場合はCheckの換金が失敗し、Checkがレジャーに残るので、後で換金を再試行できます。XRPの場合、XRPのdrop数を示す文字列でなければなりません。トークンの場合、これは`currency``issuer`、および`value` フィールドを持つオブジェクトです。`currency`フィールドと`issuer`フィールドは、Checkオブジェクトの対応するフィールドに一致しており、`value`はCheckオブジェクトの額以下でなければなりません。詳細は、[通貨額の指定][]をご覧ください。 |
### 変動金額で換金するCheckCashトランザクションの準備の例
Checkを変動金額で換金するためのトランザクションを準備する手順を以下の例に示します。
{% tabs %}
{% tab label="JSON-RPC、WebSocket、またはコマンドライン" %}
```json
{
"Account": "rGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis",
"TransactionType": "CheckCash",
"DeliverMin": "95000000",
"CheckID": "2E0AD0740B79BE0AAE5EDD1D5FC79E3C5C221D23C6A7F771D85569B5B91195C2"
}
```
{% /tab %}
{% tab label="ripple-lib 1.x" %}
{% code-snippet file="/_code-samples/checks/js/prepareCashFlex.js" language="js" /%}
{% /tab %}
{% /tabs %}
## 2. CheckCashトランザクションの署名
{% partial file="/@l10n/ja/docs/_snippets/tutorial-sign-step.md" /%}
### リクエストの例
{% tabs %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/sign-cash-flex-req.sh" language="bash" /%}
{% /tab %}
{% /tabs %}
### レスポンスの例
{% tabs %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/sign-cash-flex-resp.txt" language="json" /%}
{% /tab %}
{% /tabs %}
## 3. 署名済みCheckCashトランザクションの送信
{% partial file="/@l10n/ja/docs/_snippets/tutorial-submit-step.md" /%}
### リクエストの例
{% tabs %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/submit-cash-flex-req.sh" language="bash" /%}
{% /tab %}
{% /tabs %}
### レスポンスの例
{% tabs %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/submit-cash-flex-resp.txt" language="json" /%}
{% /tab %}
{% /tabs %}
## 4. 検証の待機
{% partial file="/@l10n/ja/docs/_snippets/wait-for-validation.md" /%}
## 5. 最終結果の確認
トランザクションのステータスを確認するには、CheckCashトランザクションの識別用ハッシュを指定した[txメソッド][]を使用します。トランザクションが成功したことを示す`"TransactionResult": "tesSUCCESS"`フィールドをトランザクションメタデータから検索し、またこの結果が最終結果であることを示す`"validated": true`フィールドを結果から検索します。
### リクエストの例
{% tabs %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/tx-cash-flex-req.sh" language="bash" /%}
{% /tab %}
{% /tabs %}
### レスポンスの例
{% tabs %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/tx-cash-flex-resp.txt" language="json" /%}
{% /tab %}
{% /tabs %}
### エラー処理
[](../../../../references/protocol/transactions/transaction-results/index.md)Checkの換金が`tec`クラスコードで失敗した場合は、[すべてのトランザクションレスポンスのリスト](../../../../references/protocol/transactions/transaction-results/index.md)でコードを確認し、適切に対処してください。CheckCashトランザクションでよく返される結果コードの一部を次に示します。
| 結果コード | 意味 | 対処 |
|-------------|---------|----------------|
| `tecEXPIRED` | Checkが有効期限切れです。 | Checkを取り消して、以前より長い有効期限を設定して新しいCheckを作成するように送金元に依頼します。 |
| `tecNO_ENTRY` | Check IDが存在していません。 | CheckCashトランザクションの`CheckID`が正しいことを確認してください。Checkがまだ取り消されていないこと、または正常に換金されていないことを確認してください。 |
| `tecNO_LINE` | 受取人がCheckの通貨のトラストラインを所有していません。 | このイシュアーからのこの通貨を保有するには、指定された通貨とイシュアーのトラストラインを作成し、[TrustSetトランザクション][]を使用してこのトラストラインに適切な限度額を設定してから、Checkの換金を再試行します。 |
| `tecNO_PERMISSION` | CheckCashトランザクションの送信者はCheckの`Destination`ではありません。 | Checkの`Destination`を再度確認します。 |
| `tecNO_AUTH` | このCheckの通貨のイシュアーは[Authorized Trust Line](../../../../concepts/tokens/fungible-tokens/authorized-trust-lines.md)を使用していますが、受取人からイシュアーへのトラストラインが承認されていません。 | このトラストラインを承認するようイシュアーに依頼し、承認されたらCheckの換金を再試行します。 |
| `tecPATH_PARTIAL` | トラストラインの限度額、または送金元に送金通貨の残高(イシュアーの[送金手数料](../../../../concepts/tokens/transfer-fees.md)がある場合はこの手数料を含むが十分になかったことが原因で、Checkでは十分なトークンを送金できませんでした。 | 原因がトラストラインの限度額である場合は、(希望する場合には)限度額を引き上げる[TrustSetトランザクション][]を送信するか、または通貨の一部を消費して残高を減らしてから、Checkの換金を再試行します。原因が送金元の残高である場合は、送金元にCheckの通貨が積み増しされるまで待つか、または以前よりも低い額でCheckの換金を再試行します。 |
| `tecUNFUNDED_PAYMENT` | Checkで十分なXRPを送金できませんでした。 | 送金元にXRPが積み増しされるまで待つか、または以前よりも低い額でCheckの換金を再試行します。 |
## 6. 送金された額の確認
Checkが変動する`DeliverMin`の額で換金された場合は、Checkは少なくとも`DeliverMin`の額で換金されたと想定できます。送金された額を正確に得るには、トランザクションメタデータを調べます。<!--{# TODO: Update if RIPD-1623 adds a delivered_amount field. #}-->メタデータの`AffectedNodes`配列には、通貨のタイプに応じて、Checkの換金による残高の変更を反映した12つのオブジェクトが含まれています。
- XRPの場合、Checkの送金元の`AccountRoot`オブジェクトのXRP `Balance` フィールドから引き落しが行われます。Checkの受取人CheckCashトランザクションを送信したユーザ`AccountRoot`オブジェクトでは、最低でもCheckCashトランザクションの`DeliverMin`から、トランザクションの送信にかかる[トランザクションコスト](../../../../concepts/transactions/transaction-cost.md)を差し引いた額が、XRP `Balance`に入金されます。
たとえば以下の`ModifiedNode`は、アカウントrGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAisCheckの受取人でありこのCheckCashトランザクションの送信者のXRP残高が`9999999970` dropから`10099999960` dropに変更されています。つまり、このトランザクションを処理した結果として、受取人に対し _正味_ 99.99999 XRPが入金されています。
```
{
"ModifiedNode": {
"FinalFields": {
"Account": "rGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis",
"Balance": "10099999960",
"Flags": 0,
"OwnerCount": 2,
"Sequence": 5
},
"LedgerEntryType": "AccountRoot",
"LedgerIndex": "7939126A732EBBDEC715FD3CCB056EB31E65228CA17E3B2901E7D30B90FD03D3",
"PreviousFields": {
"Balance": "9999999970",
"Sequence": 4
},
"PreviousTxnID": "0283465F0D21BE6B1E91ABDE17266C24C1B4915BAAA9A88CC098A98D5ECD3E9E",
"PreviousTxnLgrSeq": 8005334
}
}
```
正味金額99.99999 XRPは、このCheckCashトランザクションを送信するにあたり、トランザクションコストを支払うために消却された額を差し引いた後の金額です。以下のトランザクション指示抜粋は、トランザクションコスト`Fee`フィールドがXRPの10 dropであることを示しています。これを正味残高の変更に追加することで、このCheckの換金のために受取人rGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAisに _総額_ 100 XRPが入金されます。
```
"Account" : "rGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis",
"TransactionType" : "CheckCash",
"DeliverMin" : "95000000",
"Fee" : "10",
```
- Checkの送金元または受取人がイシュアーであるトークンの場合、これらのアカウント間のトラストラインを表す`RippleState`オブジェクトでは、`Balance`がCheckの受取人に有利な方法で調整されています。
- イシュアーが第三者であるトークンの場合、2つの`RippleState`送金元からイシュアーへのトラストラインとイシュアーから受取人へのトラストラインに対する変更があります。Checkの送金元とイシュアーの関係を表す`RippleState`オブジェクトではその`Balance`がイシュアーに有利に変更され、イシュアーと受取人の間の関係を表す`RippleState`オブジェクトではその`Balance`が受取人に有利に変更されます。
- トークンに[送金手数料](../../../../concepts/tokens/transfer-fees.md)がある場合、受取人への入金額を上回る額がCheckの送金元から引き落とされます。この差額が送金手数料であり、これがイシュアーに戻されることによりイシュアーの正味の債務は減少します。
{% raw-partial file="/docs/_snippets/common-links.md" /%}

View File

@@ -1,141 +0,0 @@
---
html: cash-a-check-for-an-exact-amount.html
parent: use-checks.html
seo:
description: Checkに指定されている額までの正確な額を受領します。
labels:
- Checks
---
# Checkの正確な金額での換金
_[Checks Amendment][]により追加されました。_
Checkがレジャーに含まれており有効期限切れではない場合は、指定の受取人は`Amount`フィールドを指定した[CheckCashトランザクション][]を送信することで、Checkを換金し、Checkに指定されている額までの正確な額を受領できます。請求書の額面通りの金額を回収したい場合など、特定の金額の受領を希望する際には、この方法でCheckを換金できます。
指定の受取人は、[Checkを変動金額で換金する](cash-a-check-for-a-flexible-amount.md)こともできます。
## 前提条件
{% partial file="/@l10n/ja/docs/_snippets/checkcash-prereqs.md" /%}
## 1. CheckCashトランザクションの準備
[CheckCashトランザクション][]のフィールドの値を決定します。Checkを正確な金額で換金する場合、以下のフィールドが最低限必要です。それ以外のフィールドはオプションまたは署名時に[自動入力](../../../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド)可能なフィールドです。
| フィールド | 値 | 説明 |
|:------------------|:--------------------------|:-----------------------------|
| `TransactionType` | 文字列 | 値が`CheckCash`の場合、これはCheckCashトランザクションです。 |
| `Account` | 文字列(アドレス) | Checkを換金する送信者のアドレス。あなたのアドレスです。 |
| `CheckID` | 文字列 | レジャーで換金するCheckオブジェクトのID。この情報を確認するには、[txメソッド][]を使用してCheckCreateトランザクションのメタデータを調べるか、または[account_objectsメソッド][]を使用してCheckを探します。 |
| `Amount` | 文字列またはオブジェクト(額) | Checkから精算する額。XRPの場合、XRPのdrop数を示す文字列でなければなりません。トークンの場合、これは`currency``issuer`、および`value` フィールドを持つオブジェクトです。`currency`フィールドと`issuer`フィールドは、Checkオブジェクトの対応するフィールドに一致しており、`value`はCheckオブジェクトの額以下でなければなりません。送金手数料のかかる通貨の場合、`SendMax`で送金手数料を支払えるように、`SendMax`よりも低い額を換金する必要があります。この額を受領できない場合はCheckの換金が失敗し、Checkがレジャーに残るので、後で換金を再試行できます。詳細は、[通貨額の指定][]をご覧ください。 |
### 正確な金額で換金するCheckCashトランザクションの準備の例
Checkを正確な金額で換金するためのトランザクションを準備する手順を以下の例に示します。
{% tabs %}
{% tab label="JSON-RPC、WebSocket、またはコマンドライン" %}
```json
{
"Account": "rfkE1aSy9G8Upk4JssnwBxhEv5p4mn2KTy",
"TransactionType": "CheckCash",
"Amount": "100000000",
"CheckID": "838766BA2B995C00744175F69A1B11E32C3DBC40E64801A4056FCBD657F57334",
"Fee": "12"
}
```
{% /tab %}
{% tab label="ripple-lib 1.x" %}
{% code-snippet file="/_code-samples/checks/js/prepareCashExact.js" language="js" /%}
{% /tab %}
{% /tabs %}
## 2. CheckCashトランザクションの署名
{% partial file="/@l10n/ja/docs/_snippets/tutorial-sign-step.md" /%}
### リクエストの例
{% tabs %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/sign-cash-exact-req.sh" language="bash" /%}
{% /tab %}
{% /tabs %}
### レスポンスの例
{% tabs %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/sign-cash-exact-resp.txt" language="json" /%}
{% /tab %}
{% /tabs %}
## 3. 署名済みCheckCashトランザクションの送信
{% partial file="/@l10n/ja/docs/_snippets/tutorial-submit-step.md" /%}
### リクエストの例
{% tabs %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/submit-cash-exact-req.sh" language="bash" /%}
{% /tab %}
{% /tabs %}
### レスポンスの例
{% tabs %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/submit-cash-exact-resp.txt" language="json" /%}
{% /tab %}
{% /tabs %}
## 4. 検証の待機
{% partial file="/@l10n/ja/docs/_snippets/wait-for-validation.md" /%}
## 5.最終結果の確認
トランザクションのステータスを確認するには、CheckCashトランザクションの識別用ハッシュを指定した[txメソッド][]を使用します。トランザクションが成功したことを示す`"TransactionResult": "tesSUCCESS"`フィールドをトランザクションメタデータから検索し、またこの結果が最終結果であることを示す`"validated": true`フィールドを結果から検索します。
Checkが正確な`Amount`で換金された場合は、受取人に対し正確な額が入金されたと想定できます(トークンの金額が極めて大きい場合や小さい場合は、金額が丸められることがあります)。
Checkを換金できない場合、Checkはレジャーに残るため、後日換金を再試行できます。代わりに[Checkを変動金額で換金する](cash-a-check-for-a-flexible-amount.md)ことができます。
### リクエストの例
{% tabs %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/tx-cash-exact-req.sh" language="bash" /%}
{% /tab %}
{% /tabs %}
### レスポンスの例
{% tabs %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/tx-cash-exact-resp.txt" language="json" /%}
{% /tab %}
{% /tabs %}
{% raw-partial file="/docs/_snippets/common-links.md" /%}

View File

@@ -1,73 +0,0 @@
---
html: look-up-checks-by-recipient.html
parent: use-checks.html
seo:
description: 特定のアドレスで受信されるすべてのCheckのリストを取得する。
labels:
- Checks
---
# 受取人に基づくCheckの検索
_[Checks Amendment][]により追加されました。_
このチュートリアルでは、[Check](../../../../concepts/payment-types/checks.md)をその受取人で検索する方法を説明します。[Checkを送金元で検索する](look-up-checks-by-sender.md)こともできます。
## 1. 特定のアドレスのすべてのCheckの検索
特定のアドレスで受信および送信されるすべてのCheckのリストを取得するには、受取人アカウントのアドレスを指定した`account_objects`コマンドを実行し、リクエストの`type` フィールドを`checks`に設定します。
**注記:**`account_objects`コマンドのコマンドラインインターフェイスでは`type`フィールドは受け入れられません。代わりに[jsonメソッド][]を使用してコマンドラインからJSON-RPCフォーマットのリクエストを送信できます。
### リクエストの例
{% tabs %}
{% tab label="RippleAPI" %}
{% code-snippet file="/_code-samples/checks/js/getChecks.js" language="js" /%}
{% /tab %}
{% tab label="JSON-RPC" %}
{% code-snippet file="/_code-samples/checks/json-rpc/account_objects-req.json" language="json" /%}
{% /tab %}
{% /tabs %}
### レスポンスの例
{% tabs %}
{% tab label="RippleAPI" %}
{% code-snippet file="/_code-samples/checks/js/get-checks-resp.txt" language="" /%}
{% /tab %}
{% tab label="JSON-RPC" %}
{% code-snippet file="/_code-samples/checks/json-rpc/account_objects-resp.json" language="json" prefix="200 OK\n\n" /%}
{% /tab %}
{% /tabs %}
## 2. 受取人に基づくレスポンスの絞り込み
レスポンスには、リクエストのアカウントが送金元であるCheckと、アカウントが受取人であるCheckが含まれていることがあります。レスポンスの`account_objects`配列の各メンバーは1つのCheckを表します。これらの各Checkオブジェクトでは、`Destination`のアドレスはそのCheckの受取人のアドレスです。
以下の疑似コードに、受取人でレスポンスを絞り込む方法を示します。
```js
recipient_address = "rBXsgNkPcDN2runsvWmwxk3Lh97zdgo9za"
account_objects_response = get_account_objects({
account: recipient_address,
ledger_index: "validated",
type: "check"
})
for (i=0; i < account_objects_response.account_objects.length; i++) {
check_object = account_objects_response.account_objects[i]
if (check_object.Destination == recipient_address) {
log("Check to recipient:", check_object)
}
}
```
{% raw-partial file="/docs/_snippets/common-links.md" /%}

View File

@@ -1,71 +0,0 @@
---
html: look-up-checks-by-sender.html
parent: use-checks.html
seo:
description: 特定のアドレスで送信されるすべてのCheckのリストを取得する。
labels:
- Checks
---
# 送金元に基づくCheckの検索
_[Checks Amendment][]により追加されました。_
このチュートリアルでは、[Check](../../../../concepts/payment-types/checks.md)をその送金元で検索する方法を説明します。[Checkを受取人で検索する](look-up-checks-by-recipient.md)こともできます。
## 1. 特定のアドレスのすべてのCheckの検索
特定のアドレスで受信および送信されるすべてのCheckのリストを取得するには、送金元アカウントのアドレスを指定した`account_objects`コマンドを実行し、リクエストの`type` フィールドを`checks`に設定します。
**注記:**`account_objects`コマンドのコマンドラインインターフェイスでは`type`フィールドは受け入れられません。代わりに[jsonメソッド][]を使用してコマンドラインからJSON-RPCフォーマットのリクエストを送信できます。
### リクエストの例
{% tabs %}
{% tab label="RippleAPI" %}
{% code-snippet file="/_code-samples/checks/js/getChecks.js" language="js" /%}
{% /tab %}
{% tab label="JSON-RPC" %}
{% code-snippet file="/_code-samples/checks/json-rpc/account_objects-req.json" language="json" /%}
{% /tab %}
{% /tabs %}
### レスポンスの例
{% tabs %}
{% tab label="RippleAPI" %}
{% code-snippet file="/_code-samples/checks/js/get-checks-resp.txt" language="" /%}
{% /tab %}
{% tab label="JSON-RPC" %}
{% code-snippet file="/_code-samples/checks/json-rpc/account_objects-resp.json" language="json" prefix="200 OK\n\n" /%}
{% /tab %}
{% /tabs %}
## 2. 送金元に基づくレスポンスの絞り込み
レスポンスには、リクエストのアカウントが送金元であるCheckと、アカウントが受取人であるCheckが含まれていることがあります。レスポンスの`account_objects`配列の各メンバーは1つのCheckを表します。これらの各Checkオブジェクトでは、`Account`のアドレスはそのCheckの送金元のアドレスです。
以下の疑似コードに、送金元でレスポンスを絞り込む方法を示します。
```js
sender_address = "rBXsgNkPcDN2runsvWmwxk3Lh97zdgo9za"
account_objects_response = get_account_objects({
account: sender_address,
ledger_index: "validated",
type: "check"
})
for (i=0; i < account_objects_response.account_objects.length; i++) {
check_object = account_objects_response.account_objects[i]
if (check_object.Account == sender_address) {
log("Check from sender:", check_object)
}
}
```
{% raw-partial file="/docs/_snippets/common-links.md" /%}

View File

@@ -1,195 +0,0 @@
---
html: send-a-check.html
parent: use-checks.html
seo:
description: 受取人が後で現金化できるCheckオブジェクトが作成されます。
labels:
- Checks
---
# Checkの送信
Checkの送信は、指定受取人にあなたからの支払いを引き出す許可を与えることに似ています。このプロセスの結果、受取人が後で現金化できる[レジャーのCheckオブジェクト](../../../../references/protocol/ledger-data/ledger-entry-types/check.md)が作成されます。
多くの場合、Checkではなく[Payment][]が送信されます。これは、Paymentでは1つのステップで受取人に直接送金できるためです。ただし、指定受取人が[DepositAuth](../../../../concepts/accounts/depositauth.md)を使用している場合はPaymentを直接送信できないため、代替手段としてCheckが適切です。
このチュートリアルでは、架空の会社BoxSend SGXRP LedgerアドレスはrBXsgNkPcDN2runsvWmwxk3Lh97zdgo9zaが架空の暗号資産コンサルタント会社Grand PaymentsXRP LedgerアドレスはrGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAisに、コンサルティング料を支払う例を取り上げます。Grand PaymentsはXRPでの支払いを望んでいますが、税務処理と規制対応を簡素化するため、明示的に承認した支払いのみを受け入れます。
XRP Ledgerの外部でGrand PaymentsはBoxSend SGに請求書IDは`46060241FABCF692D4D934BA2A6C4427CD4279083E38C77CBE642243E43BE291`を送り、Grand PaymentsのXRP LedgerアドレスrGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis宛てに100 XRPのCheckを送信するよう要求します。
## 前提条件
このチュートリアルでCheckを送信するには、以下が必要です。
- Checkの送信元である資金供給のあるアカウントの**アドレス**と**シークレットキー**。
- [XRP Ledger Test Net Faucet](/resources/dev-tools/xrp-faucets)を使用して、10,000 Test Net XRPを保有する資金供給のあるアドレスおよびシークレットを取得できます。
- Checkを受領する資金供給のあるアカウントの**アドレス**。
- トランザクションに[安全に署名できる手段](../../../../concepts/transactions/secure-signing.md)。
- [クライアントライブラリ](../../../../references/client-libraries.md)またはHTTPライブラリ、WebSocketライブラリなど。
## 1. CheckCreateトランザクションの準備
Checkの額と、Checkを現金化できる当事者を決定します。[CheckCreateトランザクション][]のフィールドの値を決定します。以下のフィールドは必要最小限のフィールドです。その他のフィールドはオプションまたは署名時に[自動入力](../../../../references/protocol/transactions/common-fields.md#自動入力可能なフィールド)できるフィールドです。
| フィールド | 値 | 説明 |
|:------------------|:--------------------------|:-----------------------------|
| `TransactionType` | 文字列 | このフィールドには文字列`CheckCreate`を使用します。 |
| `Account` | 文字列(アドレス) | Checkを作成する送金元のアドレス。あなたのアドレスです。 |
| `Destination` | 文字列(アドレス) | Checkを換金できる指定受取人のアドレス。 |
| `SendMax` | 文字列またはオブジェクト(額) | Checkが現金化されるときに送金元から引き出される最大額。XRPの場合、XRPのdrop数を示す文字列を使用します。トークンの場合、`currency``issuer`、および`value` フィールドを含むオブジェクトを使用します。詳細は、[通貨額の指定][]をご覧ください。受取人がXRP以外の通貨で正確な額のCheckを換金できるようにし、かつ[送金手数料](../../../../concepts/tokens/transfer-fees.md)を含めるには、送金手数料分の追加パーセンテージを必ず指定してください。たとえば受取人が送金手数料2%でCheckをイシュアーからの100 CADに現金化できるようにするには、`SendMax`をイシュアーからの102 CADに設定する必要があります。 |
### CheckCreateトランザクションの準備の例
以下の例は、BoxSend SG`rBXsgNkPcDN2runsvWmwxk3Lh97zdgo9za`がGrand Payments`rGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis`宛てに作成した100 XRPのCheckです。追加オプションのメタデータとして、BoxSend SGはGrand Paymentsの請求書のIDを追加しています。これによりGrand PaymentsはこのCheckがどの請求書に対する支払いかを確認できます。
{% tabs %}
{% tab label="ripple-lib 1.x" %}
{% code-snippet file="/_code-samples/checks/js/prepareCreate.js" language="js" /%}
{% /tab %}
{% tab label="JSON-RPC、WebSocket、またはコマンドライン" %}
```json
{
"TransactionType":"CheckCreate",
"Account":"rBXsgNkPcDN2runsvWmwxk3Lh97zdgo9za",
"Destination":"rGPnRH1EBpHeTF2QG8DCAgM7z5pb75LAis",
"SendMax":"100000000",
"InvoiceID":"46060241FABCF692D4D934BA2A6C4427CD4279083E38C77CBE642243E43BE291"
}
```
{% /tab %}
{% /tabs %}
## 2. CheckCreateトランザクションへの署名
{% partial file="/@l10n/ja/docs/_snippets/tutorial-sign-step.md" /%}
### リクエストの例
{% tabs %}
{% tab label="ripple-lib 1.x" %}
{% code-snippet file="/_code-samples/checks/js/signCreate.js" language="js" /%}
{% /tab %}
{% tab label="WebSocket" %}
{% code-snippet file="/_code-samples/checks/websocket/sign-create-req.json" language="json" /%}
{% /tab %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/sign-create-req.sh" language="bash" /%}
{% /tab %}
{% /tabs %}
#### レスポンスの例
{% tabs %}
{% tab label="ripple-lib 1.x" %}
{% code-snippet file="/_code-samples/checks/js/sign-create-resp.txt" language="js" /%}
{% /tab %}
{% tab label="WebSocket" %}
{% code-snippet file="/_code-samples/checks/websocket/sign-create-resp.json" language="json" /%}
{% /tab %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/sign-create-resp.txt" language="json" /%}
{% /tab %}
{% /tabs %}
## 3.署名済みトランザクションの送信
{% partial file="/@l10n/ja/docs/_snippets/tutorial-submit-step.md" /%}
### リクエストの例
{% tabs %}
{% tab label="ripple-lib 1.x" %}
{% code-snippet file="/_code-samples/checks/js/submitCreate.js" language="js" /%}
{% /tab %}
{% tab label="WebSocket" %}
{% code-snippet file="/_code-samples/checks/websocket/submit-create-req.json" language="json" /%}
{% /tab %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/submit-create-req.sh" language="bash" /%}
{% /tab %}
{% /tabs %}
### レスポンスの例
{% tabs %}
{% tab label="ripple-lib 1.x" %}
{% code-snippet file="/_code-samples/checks/js/submit-create-resp.txt" language="js" /%}
{% /tab %}
{% tab label="WebSocket" %}
{% code-snippet file="/_code-samples/checks/websocket/submit-create-resp.json" language="json" /%}
{% /tab %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/submit-create-resp.txt" language="json" /%}
{% /tab %}
{% /tabs %}
## 4.検証の待機
{% partial file="/@l10n/ja/docs/_snippets/wait-for-validation.md" /%}
## 5.最終結果の確認
トランザクションのステータスを確認するには、CheckCreateトランザクションの識別用ハッシュを指定した[txメソッド][]を使用します。トランザクションメタデータで、トランザクションが成功したことを示す`"TransactionResult": "tesSUCCESS"`フィールドを探し、またこの結果が最終結果であることを示す`"validated": true`フィールドを結果で探します。
トランザクションのメタデータで、`LedgerEntryType``"Check"``CreatedNode`オブジェクトを探します。これは、トランザクションにより[Checkレジャーオブジェクト](../../../../references/protocol/ledger-data/ledger-entry-types/check.md)が作成されたことを示します。このオブジェクトの`LedgerIndex` がCheckのIDです。以下の例ではCheckのIDは`84C61BE9B39B2C4A2267F67504404F1EC76678806C1B901EA781D1E3B4CE0CD9`です。
### リクエストの例
{% tabs %}
{% tab label="ripple-lib 1.x" %}
{% code-snippet file="/_code-samples/checks/js/getCreateTx.js" language="" /%}
{% /tab %}
{% tab label="WebSocket" %}
{% code-snippet file="/_code-samples/checks/websocket/tx-create-req.json" language="json" /%}
{% /tab %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/tx-create-req.sh" language="bash" /%}
{% /tab %}
{% /tabs %}
### レスポンスの例
{% tabs %}
{% tab label="ripple-lib 1.x" %}
{% code-snippet file="/_code-samples/checks/js/get-create-tx-resp.txt" language="" /%}
{% /tab %}
{% tab label="WebSocket" %}
{% code-snippet file="/_code-samples/checks/websocket/tx-create-resp.json" language="json" /%}
{% /tab %}
{% tab label="コマンドライン" %}
{% code-snippet file="/_code-samples/checks/cli/tx-create-resp.txt" language="json" /%}
{% /tab %}
{% /tabs %}
{% raw-partial file="/docs/_snippets/common-links.md" /%}