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 のドキュメント