Stripeのカスタマーに登録された「支払い方法」を切り離す

Payment Methodsの奥が深い。
2023.07.25

Stripeのインボイスなどを利用して支払いをすると、カスタマーにクレジットカードが登録されます。 これによって、次回以降、「登録されているクレジットカードからすぐに支払う」みたいなことができますが、事故が怖いです。 そのため、登録されたクレジットカード情報の切り離しを試してみました。

おすすめの方

  • Stripe CLIを利用したい方
  • Stripe CLIでカスタマー名を作成したい方
  • Stripe CLIでインボイスを作成したい方
  • 掲題について知りたい方

まずは、インボイスなどを作成する

商品を作成する

stripe products create \
  --name="りんご飴" \
  -d "default_price_data[currency]"=JPY \
  -d "default_price_data[unit_amount_decimal]"=150

default_priceの値をメモしておきます。

カスタマーを作成する

stripe customers create \
  --name="any name" \
  --email="fujii.genki@classmethod.jp" \
  -d "preferred_locales[]"="ja-JP"

idの値をメモしておきます。

インボイス(請求書)を作成する

空のインボイスを作成する(Draft)

stripe invoices create \
  --customer=cus_OKM514AEhqcrY4 \
  -d "collection_method"=send_invoice \
  -d "days_until_due"=30

idの値をメモしておきます。

インボイスにアイテム(商品)を追加する

stripe invoice_items create \
  --customer=cus_OKM514AEhqcrY4 \
  --price=price_1NXhLNHkjjhQpTMO5o5U2WWV \
  --quantity=1 \
  --invoice=in_1NXhOJHkjjhQpTMO6kg9ZMmJ

インボイスを確定する

stripe invoices finalize_invoice in_1NXhOJHkjjhQpTMO6kg9ZMmJ

支払い前のカスタマーには、支払い方法が登録されていない

Stripeのカスタマーに支払い方法が登録されていない

支払いをしてみる

インボイスの支払画面にアクセスして、テストカードで支払います。

Stripeのインボイスで支払いをする

カスタマーに支払い方法が登録された

Stripeのカスタマーに支払い方法が登録された

カスタマーに登録された「支払い方法」を切り離する

まずは、登録された支払い方法を取得する

stripe payment_methods list \
  --customer=cus_OKM514AEhqcrY4 \
  --type=card

レスポンスのdata[x].idを利用します。

カスタマーから支払い方法を切り離す

stripe payment_methods detach src_1NXhUwHkjjhQpTMOdPjZH3e1

カスタマーから支払い方法が切り離されました。

Stripeのカスタマーに支払い方法が登録されていない

イベントログでも、切り離されたことが確認できます。

Stripeのカスタマーのイベントログの様子

さいごに

Stripeのカスタマーに登録された支払い方法を切り離してみました。 どなたかの参考になれば幸いです。

参考