Skip to main content

概要

サーバー間決済(S2S)では、ホスト型チェックアウトページの代わりに、自社の決済フォームでカード情報を収集できます。カードデータはJavaScript SDKを使用してブラウザ上で安全にトークン化され、そのトークンをサーバーに送信して決済を作成します。
S2S統合にはPCI SAQ A-EP準拠が必要です。PCI準拠レベルが不明な場合は、ホスト型チェックアウトをご利用ください。

仕組み

1

ブラウザでカード情報をトークン化

公開キーpk_live_* / pk_test_*)を使用して POST /v1/tokens でカード情報をトークン化します。JavaScript SDKまたはAPI直接呼び出しが使用できます。生のカード番号がサーバーに送信されることはありません。
2

決済を作成

tok_* トークンをバックエンドに送信し、シークレットアクセストークンを使用して token パラメータ付きで POST /v1/payments を呼び出します。
3

3Dセキュアの処理(必要な場合)

レスポンスのステータスが requires_action の場合、顧客を redirect_url にリダイレクトして3Dセキュア認証を完了させます。

統合手順

1. カード情報のトークン化

決済ページでカード情報を収集し、公開キーを使用して POST /v1/tokens に送信します。JavaScript SDKを使用するか、APIを直接呼び出すことができます。
レスポンスのプロパティ:
JavaScript SDKは便宜上、トークンIDを id ではなく token として返します。APIを直接呼び出す場合、フィールド名は id です。

2. トークンで決済を作成

サーバーサイドで、トークンを使って POST /v1/payments を呼び出します。

3. レスポンスの処理

レスポンスのステータスによって次のアクションが決まります: 3Dセキュアの処理:
S2S決済では必ず return_url を指定してください。3Dセキュアが発生した場合、認証後に顧客はこのURLに status=succeeded または status=failed のクエリパラメータ付きでリダイレクトされます。return_url がない場合、3DS後のリダイレクト先がなくなります。

カード保存と継続決済

S2Sトークン決済時に save_card: truecustomer_id を追加することで、顧客のカード情報を保存できます。決済完了後(3Dセキュアを含む)、カードが保存され、Webhookで payment_method_id が返されます。

リクエスト

boolean
true を指定すると、決済完了後にカード情報が保存されます。
string
save_cardtrue の場合は必須。顧客を識別する一意のID。

Webhook

決済完了時のWebhookに、保存された payment_method_id が含まれます:

2回目以降の継続決済

保存された payment_method_id を使用して、カード入力やトークン化なしで課金できます:
保存済みカードの管理や継続決済の失敗処理の詳細は、継続決済(リカーリング)をご覧ください。

完全な実装例

クライアントサイド(ブラウザ)

サーバーサイド

公開キー

公開キー(pk_test_* / pk_live_*)は、ブラウザからのトークン化リクエストの認証に使用されます。トークンの作成のみに使用でき、決済、顧客情報、その他のAPIリソースにはアクセスできません。 公開キーは加盟店管理画面の 加盟店設定 > API設定 から取得できます。 詳細は認証をご覧ください。

テストカード

APIパラメータとレスポンスの詳細は、決済作成 APIリファレンスおよびトークン作成 APIリファレンスをご覧ください。