チェックアウトフロー
このページでは、決済完了までの一連の流れを指すチェックアウトについて説明します。
チェックアウト方式
概要
NP が提供するチェックアウトは、現在の API リファレンスに基づき、次の 2 方式をサポートします。
- A: リダイレクトチェックアウト方式
- B: ユーザートークンでの API 取引登録方式
サービスのニーズに応じて、適切な方式を選択してください。
| 項目 | A: リダイレクトチェックアウト | B: ユーザートークンでの API 取引登録 |
|---|---|---|
| 主なユースケース | 典型的な都度購入フローをそのまま利用 | 初回は認証のみ → 以降は API で素早く登録(少額・高頻度取引など) |
| 事前登録 API | 取引情報の事前登録 | アカウント連携の事前登録 |
| リダイレクト先 | 決済画面 URL | 認証画面 URL |
| ユーザー操作 | 認証+決済 | 認証のみ(初回) |
| コールバック/Webhook | 認証/決済完了時に結果を送信(ユーザートークン+与信結果) | 認証完了時にユーザートークン、取引登録・与信結果は次回以降の API 取引時 |
| 取引作成タイミング | チェックアウト完了時 | 次回以降の API 登録時 |
| 次回以降の登録 | — | 取引更新/再作成 に user_token と transaction_options: [2] を指定 |
A: リダイレクトチェックアウト方式
取引情報の事前登録: チェックアウト前に支払いデータと return_url を登録し、決済画面 url を取得します。
flowchart LR
A0[商品選択] --> A1[決済方法選択]
A1 --> A2{NP選択?}
A2 -->|Yes| A3[取引情報の事前登録]
A2 -->|No| A9[他の決済手段]
A3 --> A4[決済画面へリダイレクト]
A4 --> A5[認証・決済]
A5 --> A6{与信結果}
A6 -->|承認| A7[決済完了]
A6 -->|拒否| A8[決済失敗]
A7 --> A10[注文確定]
A8 --> A11[エラー処理]
- 取引情報事前登録 API で取引情報と返却先 URL を連携します。
- NP は当該取引に一意の決済画面 URL を発行し、加盟店はユーザーをその URL へリダイレクトします。
- 決済画面上でユーザーが認証と決済を実施します。
- このタイミングで、加盟店はユーザートークンと取引情報(与信結果含む)をコールバック(Webhook またはリダイレクト戻り)で受信します。
- 終了後、ユーザーは返却先 URL へリダイレクトされます。
sequenceDiagram
participant U as ユーザー
participant M as 加盟店(EC)
participant NP as NP(Checkout)
M->>NP: 取引情報事前登録(payment-object + return_url)
NP-->>M: 決済画面URL(url)
M->>U: url へリダイレクト
U->>NP: 認証 + 決済
NP-->>M: 決済Webhook/リダイレクト(ユーザートークン + 与信結果)
NP-->>U: return_url へリダイレクト
B: ユーザートークンでの API 取引登録方式
認証のみのフローでユーザー情報(任意)と return_url を登録し、認証画面 url を取得します。
初回(認証のみ)
flowchart LR
B0[商品選択] --> B1[決済方法選択]
B1 --> B2{NP選択?}
B2 -->|Yes| B3[アカウント連携の事前登録]
B2 -->|No| B9[他の決済手段]
B3 --> B4[認証画面へリダイレクト]
B4 --> B5[認証のみ]
B5 --> B6[ユーザートークン発行/Webhook]
B6 --> B7[return_url へリダイレクト]
- アカウント連携の事前登録 API でユーザー情報(任意)と返却先 URL を連携します。
- 認証画面 URL を返却し、加盟店はユーザーをリダイレクトします。
- 当該ページ上でユーザーは認証のみを実施します。
- このタイミングで、加盟店はユーザートークンをコールバック(Webhook)で受信します。
- 認証完了後、ユーザーを返却先 URL へリダイレクトします。
関連 API: アカウント連携の事前登録
sequenceDiagram
participant U as ユーザー
participant M as 加盟店(EC)
participant NP as NP(Checkout)
M->>NP: アカウント連携の事前登録(return_url + 任意ユーザー情報)
NP-->>M: 認証画面URL(url)
M->>U: url へリダイレクト
U->>NP: 認証のみ
NP-->>M: 認証Webhook(ユーザートークン)
NP-->>U: return_url へリダイレクト
次回以降(API での取引登録)
flowchart LR
C0[user_token 保存済み] --> C1[取引更新・再作成API]
C1 --> C2[与信]
C2 --> C3{結果}
C3 -->|承認| C4[決済完了]
C3 -->|拒否| C5[決済失敗]
- 次回以降の取引時は、受領したユーザートークンを用いて決済登録します
- 取引更新・再作成 API を、取引オプション
[2]で利用します。
- 取引更新・再作成 API を、取引オプション
新規作成時は、
parent_transaction_idsの代わりにrecurring_transaction_idを用い、値として初回取引のservice_transaction_idを指定してください。
配列ではなく、単一の取引 ID を指定してください。
sequenceDiagram
participant U as ユーザー
participant M as 加盟店(EC)
participant NP as NP(Checkout)
M->>NP: 取引更新・再作成API(transactions_update + user_token + 取引オプション:2)
NP-->>M: 取引登録結果
NP->>NP: 与信・課金処理
エンドポイント仕様
- API リファレンス を参照