Skip to main content
商品バージョン、価格、通貨を固定するチェックアウトセッションを作成します。これは単発商品とサブスクリプション商品の両方のチェックアウトフローの最初のステップです。 一般的なフローは以下の通りです。
  1. マーチャントがチェックアウトセッションを作成(サーバーサイド)
  2. フロントエンドに checkoutUrl を返す
  3. customer がリンクをクリックしてホスティングされたチェックアウトページに移動
  4. customer が請求情報を入力し、税額をプレビューし、注文を完了
認証: API Key または Store Slug

リクエストボディ(API Key)

リクエストボディ(Store Slug)

Store Slug 認証では、クライアントサイドからの価格改ざんやセッション操作を防止するため、priceSnapshotexpiresInSecondsmetadataorderMerchantExternalIdwithTrialincludePaymentMethodsexcludePaymentMethods はサポートされません(黙って無視されます)。決済手段は加盟店側の商業判断(チャネル手数料・精算サイクル)であり、ブラウザからの絞り込み・拡大は認められません——Store Slug で作成された session は常にその通貨がサポートする全手段を提供します。
ID 命名規約:同じフラット双キー名(checkout 側の orderMerchantExternalId、返金チケット側の refundTicketMerchantExternalId)が、リクエストボディ、webhook ペイロード、そしてその値を保持する全ての GraphQL 型を通じて使用されます — checkout 作成時に書き込んだ値は OrderPaymentRefund、webhook ペイロードのいずれからも同じフィールド名で読み戻せます。

Price Snapshot オブジェクト

Billing Detail オブジェクト

billingDetail を渡すと、キャッシャーは注文の請求先国と連動します:その国が属する市場の支払方法のみを提供し、買い手は市場を切り替えられません。適用されるのは注文最終の請求先国であり、送信した値ではありません。当社がカバーする支払市場に含まれない請求先国では、制限はかかりません。有効にする前にストアで許可している支払方法と照らし合わせてください — 連動先の市場がそのいずれも提供しない場合、その注文は決済できません。billingDetail を省略すればキャッシャーは制限されません。これが既定です。

セッションロック

チェックアウトセッション作成時に以下の値がロックされ、セッションの有効期間中は変更できません。 productVersionIdproductNamepriceInfostoreNamebillingPeriodwithTrialthemebuyerEmailbillingDetail メールアドレスの正規化:すべてのメールフィールド(email / buyerEmail / contactEmail)はサーバー側で trim().toLowerCase() により正規化されてから保存・キャッシュ・下流呼び出しに使用されます。Foo@Bar.COMfoo@bar.com は同一アカウントとして扱われます。

リクエスト例

成功レスポンス (200)

レスポンスフィールド

エラー

リトライポリシー:4xx は一切リトライしない — リクエストを修正してから再送信。5xx は指数バックオフでリトライ(5s 開始、最大 3 回)。
payin_enableprod_enabled は互いに独立した 2 つの条件です:payin_enable はプラットフォーム側が制御する入金受付スイッチ、prod_enabled は本番承認(KYB)のゲートです。prod 環境では、いずれか一方が満たされないだけで 403 になります。どちらも test 環境には適用されません。
デフォルトのセッション TTL は 45 分(2700 秒)です。API Key 認証を使用する場合、expiresInSeconds でカスタマイズできます。セッションは作成時に商品バージョンと価格をロックするため、価格変更は既存のセッションに影響しません。