Stripeには、7行程度のコードでリダイレクト型の決済フォームへのリンクを作る機能(Stripe Checkout)があります。
コード
const session = await stripe.checkout.sessions.create({
mode: 'payment',
line_items: [{
price: 'price_xxxx',
quantity: 1
}],
success_url: 'https://example.com',
cancel_url: 'https://example.com'
})
// ExpressやNext.jsでリダイレクトさせる場合
return res.redirect(session.url)
// API レスポンスとして返す場合
return res.status(200).json({
url: session.url
})
リダイレクト先のフォーム
Checkoutでの注文履歴を、Customer Portalから確認する方法
通常の組み込みでは、Stripe Checkoutを利用した1回きりの注文履歴は、Customer Portalから見ることができません。
これは、2023/01時点のCustomer Portalが、「請求書(Invoice)の履歴」を表示する機能のためです。
もし1回きりの注文についても、Customer Portalから確認できるようにさせたい場合には、有料オプションの「請求書発行機能」を利用します。
const session = await stripe.checkout.sessions.create({
mode: 'payment',
line_items: [{
price: 'price_xxxx',
quantity: 1
}],
+ invoice_creation: {
+ enabled: true,
+ },
success_url: 'https://example.com',
cancel_url: 'https://example.com'
})
この3行を追加すると、Checkoutでの注文時に、裏側で請求書(Invoice)が作成されます。
請求書が発行されることで、Customer Portalの請求履歴にも注文内容が表示されます。
一回切りの注文での、領収書の違い
通常のCheckoutセッションで発行される領収書は、メールにて送付されます。
請求書を発行した場合の領収書
請求書を発行した場合、PDFで領収書をDLできます。
PDFのURLは、APIから取得するかCustomer Portalからのリンクで取得できます。
請求書・領収書の内容をカスタマイズする
請求書を発行する方法を選んだ場合、領収書や請求書に追加の情報を載せることができます。
const session = await stripe.checkout.sessions.create({
mode: 'payment',
line_items: [{
price: 'price_xxxx',
quantity: 1
}],
invoice_creation: {
enabled: true,
+ invoice_data: {
+ description: 'Invoice for Product X',
+ metadata: {order: 'order-xyz'},
+ custom_fields: [{name: 'Purchase Order', value: 'PO-XYZ'}],
+ rendering_options: {amount_tax_display: 'include_inclusive_tax'},
+ footer: 'B2B Inc.',
+ },
},
success_url: 'https://example.com',
cancel_url: 'https://example.com'
})
請求書・領収書カスタマイズの例
-
custom_fields
を利用した「注文ID」や「問い合わせ番号」などの独自情報の付与 -
metadata
に社内システムと請求書・領収書を紐づける情報を設定 -
footer
やdescription
で注文に対する説明や追加情報を追加
カスタマイズできるパラメータについては、以下のドキュメントをご確認ください。
Checkoutで請求書を発行する際は、手数料に注意
1回限りの決済にて請求書を発行する場合、決済ごとに最大2ドル相当(取引合計額の0.4%)の手数料が発生します。
サブスクリプションについては、Stripe Billingの料金プランをご確認ください。
[PR] StripeのAPIや製品アップデートを確認する方法
APIやSDKの更新情報を確認する
APIの変更ログを、以下のURLまたはRSSフィードから確認できます。
Feed: https://stripe.com/docs/changelog/api/feed.xml
QiitaやTwitterで情報を確認する
日本語でのアップデート情報は、QiitaまたはTwitterアカウントから確認できます。
Stripeコミュニティ(JP_Stripe)のイベントやライブを見る
日本のStripeユーザーが運営するコミュニティ、JP_Stripesで情報を得ることもできます。
YouTubeでのアップデート情報紹介配信(JP_Stripes What's New)や、コミュニティイベントにぜひご参加ください。
メーリングリスト(英語)を購読する
また、毎月のアップデートをまとめて紹介するメーリングリスト「Stripe Developer Digest(英語)」の購読もぜひご検討ください。