StripeでCustomerを作成してから、Checkoutのセッション(決済ページのリンク)を作成する
StripeのCheckoutを利用するとき、Customerを指定した際の動作を知りたかったので、試してみました。
おすすめの方
- Stripe CLIを利用したい方
- StripeCLIで商品作成の参考を探している方
- StripeCLIでCustomer作成の参考を探している方
- StripeCLIでCheckout作成の参考を探している方
Stripe CLIを準備する
下記を参考にして準備します。
商品を作成する
最初に商品を作成しておきます。
stripe products create \ --name="秘密の記事" \ -d "default_price_data[currency]"=JPY \ -d "default_price_data[unit_amount_decimal]"=100
レスポンスにある下記は、後で利用するためメモしておきます。(あとでWeb画面から確認してもOKです)
- default_price
Customerを作成する
Customerを作成します。シンプルにするため、メールアドレス等の設定はしていません。
stripe customers create \ --name="Aさん"
stripe customers create \ --name="Bさん"
レスポンスにある下記は、後で利用するためメモしておきます。(あとでWeb画面から確認してもOKです)
- id
Stripe Checkoutのセッションを作成し、決済する
Aさん
Checkoutのセッションを作成します。price
とcustomer
には、先ほど確認したIDを指定します。
stripe checkout sessions create \ --success-url="https://example.com/success" \ -d "line_items[0][price]"=price_1N5nPYHkjjhQpTMO2iW13Oum \ -d "line_items[0][quantity]"=1 \ --mode=payment \ --customer=cus_NrWGCTXEqvS00M
レスポンスのurl
にアクセスし、決済します。
Customer作成時にメールアドレスが空欄だったので、メールアドレスの入力が必要になります(必須)。
テスト用のクレジットカード番号は、下記にあります。
Bさん
Bさんも同様です。
stripe checkout sessions create \ --success-url="https://example.com/success" \ -d "line_items[0][price]"=price_1N5nPYHkjjhQpTMO2iW13Oum \ -d "line_items[0][quantity]"=1 \ --mode=payment \ --customer=cus_NrWLEyTUWxyElA
レスポンスのurl
にアクセスし、決済します。
Bさん(2個目)
実験用に個数を変更し、再びBさん用の決済リンク(セッション)を作成します。
stripe checkout sessions create \ --success-url="https://example.com/success" \ -d "line_items[0][price]"=price_1N5nPYHkjjhQpTMO2iW13Oum \ -d "line_items[0][quantity]"=2 \ --mode=payment \ --customer=cus_NrWLEyTUWxyElA
レスポンスのurl
にアクセスし、決済します。
なお、さきほどメールアドレスを入力したので、メールアドレスは最初から入力状態になり、編集不可になっていました。
支払い結果を確認する
支払い成功しています。
Customerを確認する
メールアドレスが増えていました。
Aさん
Aさんの詳細を確認すると、1件の決済が紐付いていました。
Bさん
Bさんの詳細を確認すると、2件の決済が紐付いていました。
さいごに
StripeでCustomerを作成してから、Checkoutのセッション(決済ページのリンク)を作成してみました。 決済を特定顧客に紐付けたい方の参考になれば幸いです。