# CheckCreate [[ソース]](https://github.com/XRPLF/rippled/blob/master/src/xrpld/app/tx/detail/CreateCheck.cpp) レジャーにCheckオブジェクトを作成します。これにより指定の送金先は後日換金することができます。このトランザクションの送信者はCheckの送金元です。 *([Checks Amendment](/ja/resources/known-amendments#checks)が必要です)* ## JSONの例 ```json { "TransactionType": "CheckCreate", "Account": "rUn84CUYbNjRoTQ6mSW7BVJPSVJNLb1QLo", "Destination": "rfkE1aSy9G8Upk4JssnwBxhEv5p4mn2KTy", "SendMax": "100000000", "Expiration": 570113521, "InvoiceID": "6F1DFD1D0FE8A32E40E1F2C05CF1C15545BAB56B617F9C6C2D63A6B704BEF59B", "DestinationTag": 1, "Fee": "12" } ``` ## フィールド [共通フィールド](/ja/docs/references/protocol/transactions/common-fields)に加えて、トランザクションは以下のフィールドを使用します。 | フィールド | JSONの型 | [内部の型](/ja/docs/references/protocol/binary-format) | 説明 | | --- | --- | --- | --- | | `Destination` | 文字列 | AccountID | Checkを換金できる[アカウント](/ja/docs/concepts/accounts)の一意アドレス。 | | `SendMax` | [通貨額](/ja/docs/references/protocol/data-types/basic-data-types#%E9%80%9A%E8%B2%A8%E9%A1%8D%E3%81%AE%E6%8C%87%E5%AE%9A) | Amount | Checkで送金元から引き落とすことができる送金元通貨の最大額(XRP以外の通貨の[送金手数料](/ja/docs/concepts/tokens/fungible-tokens/transfer-fees)を含む)。Checkは同一通貨の送金先にのみ入金可能です(XRP以外の通貨の場合は同一イシュアーから)。XRP以外の金額の場合、入れ子フィールドの名前にはアルファベットの小文字のみ使用してください。 | | `DestinationTag` | 数値 | UInt32 | *(省略可)* Checkの理由を明確にする任意のタグ、または支払先となる、ホスティングされている受取人。 | | `Expiration` | 数値 | UInt32 | *(省略可)* Checkが無効になる時刻([Rippleエポック以降の経過秒数](/ja/docs/references/protocol/data-types/basic-data-types#%E6%99%82%E9%96%93%E3%81%AE%E6%8C%87%E5%AE%9A))。 | | `InvoiceID` | 文字列 | UInt256 | *(省略可)* このCheckの具体的な理由または識別子を表現する任意の256ビットハッシュ。 | ## エラーケース - `Destination`アカウントがCheckの着信をブロックしている場合、トランザクションは結果コード`tecNO_PERMISSION`で失敗します。 - `Destination`がトランザクションの送信者である場合、トランザクションは結果コード`temREDUNDANT`で失敗します。 - `Destination`[アカウント](/ja/docs/concepts/accounts)がレジャーに存在していない場合、トランザクションは結果コード`tecNO_DST`で失敗します。 - `Destination`アカウントでRequireDestフラグが有効であるが、トランザクションに`DestinationTag`フィールドが含まれていない場合、トランザクションは結果コード`tecDST_TAG_NEEDED`で失敗します。 - `SendMax`に[フリーズ](/ja/docs/concepts/tokens/fungible-tokens/freezes)されているトークンが指定されている場合、トランザクションは結果コード`tecFROZEN`で失敗します。 - トランザクションの`Expiration`が過去の日時である場合、トランザクションは結果コード`tecEXPIRED`で失敗します。 - Checkの追加後に送金元が[所有者準備金](/ja/docs/concepts/accounts/reserves#%E6%89%80%E6%9C%89%E8%80%85%E6%BA%96%E5%82%99%E9%87%91)条件を満たすのに十分なXRPを保有していない場合、トランザクションは結果コード`tecINSUFFICIENT_RESERVE`で失敗します。 - Checkの送金元または送金先のいずれかがレジャーでこれ以上のオブジェクトを所有できない場合、トランザクションは結果コード`tecDIR_FULL`で失敗します。