チェックアウト見積もり(x402 1回目)
quote_checkoutカートの内容で x402 チェックアウトの 1 回目を実行する。在庫を仮押さえし(有効期限は返り値 expires_at_unix_ms)、小計・割引・送料・合計(JPYC)と reservation_id、および PAYMENT-REQUIRED チャレンジ(base64url、x402 accepts 配列)を返す。accepts の決済方式: 『eip3009』(既定。通常購入の EOA ウォレットはこちらを選び、EIP-712 TransferWithAuthorization に署名する) と『erc20-transfer』(ecrecover 非対応のスマートコントラクトウォレット専用。payer_address を渡した予約にだけ提示される。extra.payerAuthorization.message を personal_sign して authorize_transfer を呼び、その成功後に表示額ぴったりの通常 ERC-20 transfer を実行し、txHash 任意/payerAddress 必須で submit_payment に渡す)。0円デモは demo_signature_version=1 と payer_address を渡すと demo-signature を提示する。送金せず personal_sign だけで完了する。全 item は同一ショップである必要がある。配送が必要な商品があれば shipping を、贈答なら gift_recipient を必ず渡すこと。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | 購入する商品 | |
| is_gift | No | 贈答かどうか | |
| shop_id | Yes | ショップ ID(全 item 共通) | |
| shipping | No | 配送先(配送が必要な商品がある場合は必須) | |
| coupon_code | No | ショップから受け取ったクーポンコード(任意。NFT割引との併用不可) | |
| customer_note | No | 注文メモ | |
| payer_address | No | 支払いに使うウォレットアドレス(任意・推奨)。指定すると settle 時に支払い元と照合され、別ウォレットからの支払いは拒否される。スマートコントラクトウォレットで erc20-transfer 方式を使う場合は必須(指定が無いと accepts に erc20-transfer が提示されない) | |
| customer_email | Yes | 注文確認メールの送信先(必須) | |
| gift_recipient | No | 贈り先(is_gift が true なら必須) | |
| idempotency_key | No | 同じ見積もりの再試行で必ず再利用する一意キー。クーポン利用時は必須(UUID推奨)。異なる購入内容に同じキーを使わないこと | |
| preferred_chain_id | No | 希望チェーン(任意。商品の対応チェーンから選ばれる) | |
| demo_signature_version | No | 0円デモのpersonal_signに対応する場合のみ指定 |