コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
売上
プラットフォームおよびマーケットプレイス
資金管理
開発者向けリソース
概要
Billing
概要Billing API について
サブスクリプション
    概要
    サブスクリプションの仕組み
    始める
    クイックスタート
    連携の計画を立てる
    連携機能の構築
    ユースケース
    サブスクリプションについて
    請求モードを有効にする
    サブスクリプション・イベントの設定
    エンタイトルメント
    サブスクリプションの請求書
    サブスクリプションのスケジュール
    継続的な料金体系モデル
    強力な顧客認証 (SCA)
    サブスクリプションを設定する
    請求回収方法の設定
    料金表を埋め込む
    請求サイクルの設定
    サブスクリプションを管理
    サブスクリプションを Stripe に移行する
    製品またはサブスクリプション数量の設定
    複数のサブスクリプション期間
    サブスクリプションの遡及適用
    トライアル期間を設定
    後払い支払いによるサブスクリプションの処理
    クーポンを適用
    サブスクリプションの修正
    サブスクリプションの決済方法の管理
    アナリティクス
    iOS でサブスクリプションを管理する
Invoicing
従量課金
見積もり
顧客管理
Billing と他のプロダクトの連携
売上回収
オートメーション
実装内容をテストする
税金
概要
Stripe tax を使用
法規制の遵守・対応管理
レポート機能
概要
レポートの選択
レポートを設定
Reports API
複数のアカウントのレポート
収益認識
データ
概要
ビジネスと商品データのユースケース
スキーマデータの鮮度
Sigma
Data Pipeline
外部データをインポート
ホーム売上Subscriptions

後払い支払いによるサブスクリプションの処理

即時支払いを必要としないサブスクリプションの処理方法について紹介します。

無料トライアルや従量課金を含むサブスクリプション、またはクーポンや顧客のクレジット残高が適用された請求書は、未払いになることがよくあります。これは、サブスクリプションの作成時に顧客にすぐに請求を行わないことが原因です。

顧客に対して最初の請求書の請求を行わない場合でも、クレジットカードを認証して承認することで、ゼロ以外の最初の支払いが成功する確率が高くなります。この種の支払いは、オフセッション支払と呼ばれます。Stripe はこれらのシナリオを管理するために、SetupIntents を使用します。

SetupIntents を使用する

SetupIntents (支払い方法設定インテント) を使用して、以下を実行できます。

  • 決済情報を収集します。
  • 顧客のカードを認証して、後で免除を請求する。
  • 請求せずに顧客のカードを承認します。

決済を認証すると、顧客はカードへの請求を許可できます。これは強力な顧客認証での要求事項であり、3DS はこの認証を完了するため方法として一般的です。支払い方法情報を収集してオーソリすることにより、その支払い方法への請求が確実に成功するようになります。

オフセッションのシナリオでは、SetupIntents によってゼロ以外の金額の初めての支払いを顧客に請求することができ、その際、認証のために顧客を Web サイトやアプリに戻す必要はありません。この結果、顧客の負担が軽減します。

初回の決済を必要としないサブスクリプションに対して、SetupIntent が自動的に作成されます。必要に応じ、この時点で認証と承認のプロセスも実行されます。認証と承認の両方が成功した場合、またはどちらも不要な場合は、アクションは不要で、subscription.pending_setup_intent フィールドは null となります。いずれかの手順が失敗した場合には、フロントエンドで SetupIntent を使用し、顧客がオンセッションの間に問題を解決することをお勧めします。

サブスクリプションの pending_setup_intent フィールドは、サブスクリプションが終了しても自動的にキャンセルされません。customer.subscription.deleted イベントをリッスンし、必要に応じて手動でサブスクリプションの SetupIntent をキャンセルしてください。

次の 2 つのセクションでは、認証または承認が失敗するシナリオの対処方法について説明します。

認証の失敗の管理Client-side

認証の失敗は、Stripe が顧客のカード発行会社との間で顧客を認証できない場合に発生します。この場合、SetupIntent の status が requires_action に設定されます。

サブスクリプションの決済の認証失敗に対処する方法。

このようなシナリオを解決するには、フロントエンドで confirmCardSetup を呼び出して、顧客が認証フローを手動で完了できるようにする必要があります。以下のコード例では、pending_setup_intent を拡張してフローを完了しています。

const {pending_setup_intent} = subscription; if (pending_setup_intent) { const {client_secret, status} = subscription.pending_setup_intent; if (status === "requires_action") { const {setupIntent, error} = await stripe.confirmCardSetup(client_secret); if (error) { // Display error.message in your UI. } else { // The setup has succeeded. Display a success message. } } }

このフローが完了すると、必要に応じて承認が実行されます。承認が成功した場合、または承認が不要な場合、完了時に pending_setup_intent が null に更新されます。

オーソリの失敗の管理Client-side

カードが請求可能であることを Stripe が確認できない場合、支払いの承認が失敗します。この場合、SetupIntent の status は、requires_payment_method に設定されます。通常、当該カードを使用した後続の請求は失敗することになります。

サブスクリプションの決済のオーソリ失敗に対処する方法。

このようなシナリオを解決するには、新しい支払い方法を収集してから、顧客またはサブスクリプションのデフォルトの支払い方法を更新する必要があります。以下のコード例では、pending_setup_intent を拡張してフローを完了しています。

const {pending_setup_intent, latest_invoice} = subscription; if (pending_setup_intent) { const {client_secret, status} = subscription.pending_setup_intent; if (status === "requires_action") { const {setupIntent, error} = await stripe.confirmCardSetup(client_secret); if (error) { // Display error.message in your UI. } else { // The setup has succeeded. Display a success message. } } else if (status === "requires_payment_method") { // Collect new payment method. } }
このページはお役に立ちましたか。
はいいいえ
  • お困りのことがございましたら 、サポートにお問い合わせください。
  • 早期アクセスプログラムにご参加ください。
  • 変更ログをご覧ください。
  • ご不明な点がございましたら、お問い合わせください。
  • LLM ですか?llms.txt を読んでください。
  • Powered by Markdoc