Stripeを利用してクレジットカード決済を実行した場合、顧客のクレジットカード利用明細に任意のデータを入力するには、statement_descriptor
を利用する必要があります。
これまでは、このstatement_descriptor
はInvoiceがFinalizeされる前のみ変更可能でした。
// 変更できる
await stripe.invoices.update('in_xxxx', {
statement_descriptor: "DUMMY ITEM 111",
})
// Finalizeする
await stripe.invoices.finalizeInvoice('in_xxxx')
// 変更できない(エラーになる)
const invoice = await stripe.invoices.update('in_xxxx', {
statement_descriptor: "DUMMY ITEM",
})
今回のAPIアップデートから、Finalizeが完了しているInvoiceについても、statement_descriptor
を変更できるようになりました。
// 変更できる
await stripe.invoices.update('in_xxxx', {
statement_descriptor: "DUMMY ITEM 111",
})
// Finalizeする
await stripe.invoices.finalizeInvoice('in_xxxx')
// 変更できる
const invoice = await stripe.invoices.update('in_xxxx', {
statement_descriptor: "DUMMY ITEM",
})
ユースケース
Invoice / Billingどちらも多くの場合は作成時にstatement_descriptor
を設定しているケースが多いとは思います。
が、SaaS側のシステムデータを利用して追加の情報を設定したい場合などでは、Invoiceのwebhookを利用してstatement_descriptor
を更新することができます。
そしてこれまでは、Finalizeされて更新できなくなっているケースを考慮する必要がありましたが、今回の更新後は考慮する必要がなくなります。
関連記事・ドキュメント
[PR] Stripe開発者向け情報をQiitaにて配信中!
2021年12月よりQiitaにて、Stripe開発者のためのブログ記事更新を開始しました。
- [Stripe Updates]:開発者向けStripeアップデート紹介・解説
- ユースケース別のStripe製品や実装サンプルの紹介
- Stripeと外部サービス・OSSとの連携方法やTipsの紹介
- 初心者向けのチュートリアル(予定)
など、Stripeを利用してオンラインビジネスを始める方法について随時更新してまいります。