Stripeで「名前が無いカスタマー」を作成してから、インボイスで決済する際の動作を確認してみた
Stripeのインボイスを作成するとき、カスタマーを作成します。 このカスタマーについて、「名前」が無い場合の動作が気になったので、試してみました。
おすすめの方
- Stripe CLIを利用したい方
- Stripe CLIで商品作成の参考を探している方
- Stripe CLIでカスタマー作成の参考を探している方
- Stripe CLIでインボイス作成の参考を探している方
- Stripeで名前がないカスタマーを作成した際の様子を知りたい方
商品を作成する
最初に商品を作成します。
stripe products create \ --name="特別な記事" \ -d "default_price_data[currency]"=JPY \ -d "default_price_data[unit_amount_decimal]"=5000
レスポンスにある下記は、後で利用するためメモしておきます。(あとでWeb画面から確認してもOKです)
- default_price
カスタマーを作成する
名前が無いカスタマーを作成します。
stripe customers create \ --email="any-email" \ -d "preferred_locales[]"="ja-JP"
レスポンスにある下記は、後で利用するためメモしておきます。(あとでWeb画面から確認してもOKです)
- id
インボイス(請求書)を作成する
空の請求書を作成する
stripe invoices create \ --customer=cus_Nse11mQKT1WJtk \ -d "collection_method"=send_invoice \ -d "days_until_due"=30
ちなみに、「カスタマーにメールアドレスが無い場合」は、空の請求書の作成が失敗します。send_invoice
のため、メールアドレスは必須です(実はこれも確認したかった)。
{ "error": { "message": "Missing email. In order to create invoices that are sent to the customer, the customer must have a valid email.", "request_log_url": "https://dashboard.stripe.com/test/logs/req_xxx", "type": "invalid_request_error" } }
請求書にアイテム(商品)を追加する
stripe invoiceitems create \ --customer=cus_Nse11mQKT1WJtk \ --price=price_1N6sGWLL2tAJlAnqjhNWs4pK \ --quantity=1 \ --invoice=in_1N6spCLL2tAJlAnqSAgPSiIq
請求書を確定する
stripe invoices finalize_invoice in_1N6spCLL2tAJlAnqSAgPSiIq
請求書がオープンになりました。
決済する
請求書を確定した際のレスポンスにあるhosted_invoice_urlにアクセスし、決済します。 テスト用のクレジットカード番号は、下記にあります。
請求先は、「名前」ではなく「メールアドレス」が表示されました(これが知りたかった)。
決済完了しました。
支払い結果を確認する
「支払い済み」になっています。
さいごに
カスタマーの名前が無い場合の動作を確認してみました。 ついでに、メールアドレスは必須だと分かりました。 少しでも参考になれば幸いです。
参考
- Invoicing | Stripe のドキュメント
- 請求書を作成して送信する | Stripe のドキュメント
- Stripe CLI を使ってみる | Stripe のドキュメント
- Stripe API Reference - Create a product - Stripe CLI
- Stripe API Reference - Create a customer - Stripe CLI
- Stripe API Reference - Create an invoice
- Stripe API Reference - Create an invoice item
- Stripe API Reference - Finalize an invoice
- Test cards | Stripe のドキュメント