- マーチャントがチェックアウトセッションを作成(サーバーサイド)
- フロントエンドに
checkoutUrlを返す - customer がリンクをクリックしてホスティングされたチェックアウトページに移動
- customer が請求情報を入力し、税額をプレビューし、注文を完了
リクエストボディ(API Key)
リクエストボディ(Store Slug)
Store Slug 認証では、クライアントサイドからの価格改ざんやセッション操作を防止するため、
priceSnapshot、expiresInSeconds、metadata、orderMerchantExternalId、withTrial、includePaymentMethods、excludePaymentMethods はサポートされません(黙って無視されます)。決済手段は加盟店側の商業判断(チャネル手数料・精算サイクル)であり、ブラウザからの絞り込み・拡大は認められません——Store Slug で作成された session は常にその通貨がサポートする全手段を提供します。ID 命名規約:同じフラット双キー名(checkout 側の
orderMerchantExternalId、返金チケット側の refundTicketMerchantExternalId)が、リクエストボディ、webhook ペイロード、そしてその値を保持する全ての GraphQL 型を通じて使用されます — checkout 作成時に書き込んだ値は Order、Payment、Refund、webhook ペイロードのいずれからも同じフィールド名で読み戻せます。Price Snapshot オブジェクト
Billing Detail オブジェクト
セッションロック
チェックアウトセッション作成時に以下の値がロックされ、セッションの有効期間中は変更できません。productVersionId、productName、priceInfo、storeName、billingPeriod、withTrial、theme、buyerEmail、billingDetail
メールアドレスの正規化:すべてのメールフィールド(email / buyerEmail / contactEmail)はサーバー側で trim().toLowerCase() により正規化されてから保存・キャッシュ・下流呼び出しに使用されます。Foo@Bar.COM と foo@bar.com は同一アカウントとして扱われます。
リクエスト例
成功レスポンス (200)
レスポンスフィールド
エラー
リトライポリシー:4xx は一切リトライしない — リクエストを修正してから再送信。5xx は指数バックオフでリトライ(5s 開始、最大 3 回)。
payin_enable と prod_enabled は互いに独立した 2 つの条件です:payin_enable はプラットフォーム側が制御する入金受付スイッチ、prod_enabled は本番承認(KYB)のゲートです。prod 環境では、いずれか一方が満たされないだけで 403 になります。どちらも test 環境には適用されません。