StripeでCustomerを作成してから、Checkoutのセッション(決済ページのリンク)を作成する

Stripe CLIを利用して、商品作成・Customer作成・Checkoutのセッション作成を試します。
2023.05.11

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

Stripeで商品を作成した

レスポンスにある下記は、後で利用するためメモしておきます。(あとでWeb画面から確認してもOKです)

  • default_price

Customerを作成する

Customerを作成します。シンプルにするため、メールアドレス等の設定はしていません。

stripe customers create \
  --name="Aさん"
stripe customers create \
  --name="Bさん"

Stripeで顧客を作成した

レスポンスにある下記は、後で利用するためメモしておきます。(あとでWeb画面から確認してもOKです)

  • id

Stripe Checkoutのセッションを作成し、決済する

Aさん

Checkoutのセッションを作成します。pricecustomerには、先ほど確認した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作成時にメールアドレスが空欄だったので、メールアドレスの入力が必要になります(必須)。

Stripeで支払う(Checkout)

テスト用のクレジットカード番号は、下記にあります。

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にアクセスし、決済します。 なお、さきほどメールアドレスを入力したので、メールアドレスは最初から入力状態になり、編集不可になっていました。

Stripeで支払う(Checkout)(メールアドレスが入力済み・編集不可)

支払い結果を確認する

支払い成功しています。

支払い結果の様子

Customerを確認する

メールアドレスが増えていました。

顧客の様子

Aさん

Aさんの詳細を確認すると、1件の決済が紐付いていました。

顧客(Aさん)の様子

Bさん

Bさんの詳細を確認すると、2件の決済が紐付いていました。

顧客(Bさん)の様子

さいごに

StripeでCustomerを作成してから、Checkoutのセッション(決済ページのリンク)を作成してみました。 決済を特定顧客に紐付けたい方の参考になれば幸いです。

参考