決済シート用の PaymentIntent を作成
POST
/events/:eventId/tickets/:ticketId/payment-intentモバイルアプリの決済シート(Stripe PaymentSheet)で支払うための PaymentIntent を作成します。事前決済チェックアウトと同じくアンケート回答・プロフィール項目を先に保存し、在庫を一定時間だけ確保します。参加登録は決済完了の webhook で作成されます。
| 認証 | 要ログイン |
|---|
パスパラメータ
eventIdstring必須イベント ID または slug。
ticketIdstring必須チケット種別 ID。
リクエストボディ
quantitynumber購入枚数(既定 1)。2 枚以上のときはアンケート・プロフィール項目は不要。
questionAnswersobject[]アンケート回答の配列。各要素は questionId(必須)と answer(文字列配列)を持つ。
profileAnswersobject参加登録時に収集するプロフィール項目。
invitationCodestringリファラルコード。8 文字ちょうど。割引は金額に反映される。
joinCommunityIdsstring[]購入と同時に参加する主催コミュニティの ID。
レスポンス
| フィールド | 型 | 説明 |
|---|---|---|
publishableKey | string | Stripe の公開キー。決済シートの初期化に使う。 |
paymentIntentClientSecret | string | PaymentIntent の client secret。 |
customerId | string | Stripe Customer ID。 |
ephemeralKeySecret | string | Customer の EphemeralKey。決済シートが支払い方法を保存するのに使う。 |
stripeAccountId | string | Connect 決済のときだけ入る連結アカウント ID。 |
amount | number | 実際に請求される金額(円・内税)。 |
amountSubtotal | number | 割引前の定価合計(円)。 |
リクエスト
curl https://api.4s.link/events/EVENT_ID/tickets/TICKET_ID/payment-intent \-X POST \-H "Authorization: Bearer 4s_at_..." \-H "Content-Type: application/json" \-d '{"quantity": 1,"questionAnswers": [{ "questionId": "q1a2b3c4-...", "answer": ["情報収集のため"] }]}'
レスポンス例
{"publishableKey": "pk_test_...","paymentIntentClientSecret": "pi_..._secret_...","customerId": "cus_...","ephemeralKeySecret": "ek_test_...","amount": 5000,"amountSubtotal": 5000}