コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
売上
プラットフォームおよびマーケットプレイス
資金管理
開発者向けリソース
概要
Billing
概要Billing API について
サブスクリプション
    概要
    サブスクリプションの仕組み
    クイックスタート
    ユースケース
    実装を構築
    サブスクリプション機能
      サブスクリプションの請求書
      サブスクリプションのスケジュール
      サブスクリプションの料金体系
      継続的な料金体系モデル
      料金表を埋め込む
      サブスクリプションを始める
      数量の設定
      請求サイクルの設定
      サブスクリプションの遡及適用
      複数のアイテムに登録
      トライアル期間を設定
      クーポンを適用
      サブスクリプションを Stripe に移行する
      クレジットの比例分配の計算方法
      サブスクリプションの決済
      サブスクリプションの決済手段
        ACH ダイレクトデビット
        Amazon Pay
        イギリスでの Bacs ダイレクトデビット
        銀行振込
        オーストラリアの BECS ダイレクトデビット
        Cash App Pay
        PayPal
        Revolut Pay
        韓国のカード
        カカオペイ
        Naver Pay
        カナダのプレオーソリデビット
        EU の SEPA ダイレクトデビット
        iDEAL と SEPA ダイレクトデビット
        Bancontact と SEPA ダイレクトデビット
      サードパーティーによる決済処理を導入
      回収方法
      強力な顧客認証 (SCA)
      サブスクリプションを管理
      サブスクリプションの修正
      保留中の更新の管理
    エンタイトルメント
    アナリティクス
Invoicing
従量課金
見積もり
顧客管理
Billing with other products
売上回収
オートメーション
実装内容をテストする
税金
概要
Use Stripe tax
Manage compliance
レポート機能
概要
レポートの選択
Configure reports
Reports API
複数のアカウントのレポート
収益認識
データ
概要スキーマ
カスタムレポート
Data Pipeline
データ管理
ホーム売上SubscriptionsSubscription featuresSubscription payment methods

注

このページはまだ日本語ではご利用いただけません。より多くの言語で文書が閲覧できるように現在取り組んでいます。準備が整い次第、翻訳版を提供いたしますので、もう少しお待ちください。

カナダのプレオーソリデビットを使用したサブスクリプションを設定する

カナダのプレオーソリデビットを使用したサブスクリプションの作成と請求の方法をご紹介します。

注

Checkout のサブスクリプションモードはまだサポートされていません。この機能が提供されたときに早期アクセスをご希望の場合は、Stripe までお問い合わせいただき、待機リストに登録してください。

商品と価格を作成する
ダッシュボード

Products (商品) は、販売しているアイテムまたはサービスを表します。Prices (価格) は、商品の価格と請求頻度を定義します。これには、商品の価格、受け付ける通貨、および 1 回限りの支払いか継続支払いかが含まれます。商品と価格が数個のみの場合は、ダッシュボードでそれらを作成および管理します。

このガイドでは、例としてストックフォトサービスを使用し、15 CAD の月次サブスクリプションを顧客に請求します。これをモデル化するには、次のようにします。

  1. 商品を追加ページに移動します。
  2. 商品の名前を入力します。
  3. 価格に 15 を入力します。
  4. 通貨として CAD を選択します。
  5. 商品を保存をクリックします。

商品と価格を作成したら、価格 ID を記録しておき、後続のステップで使用できるようにします。ID は料金体系ページで price_G0FvDp6vZvdwRZ のように表示されます。

サブスクリプションを作成する
サーバー側

注

無料のトライアル期間付きのサブスクリプションの作成については、サブスクリプションのトライアルをご覧ください。

payment_behavior パラメーターの値として default_incomplete を指定して、ステータスが incomplete の価格と顧客の Subscription (サブスクリプション) を作成します。

Command Line
curl
curl https://api.stripe.com/v1/subscriptions \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "customer"="{{CUSTOMER_ID}}" \ -d "items[0][price]"="price_F52b2UdntfQsfR" \ -d "payment_behavior"="default_incomplete" \ -d "payment_settings[payment_method_types][]"="acss_debit" \ -d "expand[0]"="latest_invoice.payment_intent"

レスポンスには、サブスクリプションの最初の Invoice (請求書) が含まれます。これには請求書の支払いが格納され、Stripe がこのインボイスに対して生成したデフォルトの PaymentIntent と、PaymentIntent オブジェクト全体を渡す代わりに、クライアント側で決済プロセスを安全に完了するために使用できる、confirmation secret が含まれます。latest_invoice.confirmation_secret.client_secret をフロントエンドに返して、支払いを完了します。

支払い方法の詳細と同意書承認を収集する
クライアント側

カナダのプレオーソリデビットを使用するには、プレオーソリデビット利用規約を使用して、1 回限りの引き落としと継続的な引き落としについて顧客から承認を得る必要があります (PAD 同意書 を参照)。Mandate (同意書) オブジェクトは、この利用契約と承認を記録します。

Stripe がお客様に代わってサブスクリプションと請求書の同意書を自動的に設定します。顧客が同意書の条件を一度承認するだけで、それ以上介入しなくても、後続のサブスクリプションの支払いは成功します。

顧客が Canadian pre-authorized debitでの支払いをクリックしたときに、Stripe.js を使用してその支払いを Stripe に送信することをお勧めします。Stripe.js は、決済フローを構築するための Stripe の基本的な JavaScript ライブラリです。これにより、実装に関する複雑な処理が自動的に行われ、将来、他の決済手段にも対応できるように実装を簡単に拡張できます。

Stripe.js スクリプトを決済ページに含めるには、このスクリプトを HTML ファイルの head に追加します。

checkout.html
<head> <title>Checkout</title> <script src="https://js.stripe.com/basil/stripe.js"></script> </head>

決済ページで以下の JavaScript を使用して、Stripe.js のインスタンスを作成します。

client.js
// Set your publishable key. Remember to change this to your live publishable key in production! // See your keys here: https://dashboard.stripe.com/apikeys const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
);

PaymentIntent オブジェクト全体をクライアントに送信する代わりに、前のステップからの client secret を使用します。これは、Stripe API リクエストを認証する API キーとは異なります。

ただし、client secret は支払いを完了できるため、慎重に取り扱う必要があります。記録したり、URL に埋め込んだり、当該の顧客以外に漏洩することがないようにしてください。

ユーザーがフォームを送信したら、stripe.confirmAcssDebitPayment を使用して、銀行口座の詳細と銀行口座の確認を収集し、同意書を確認し、支払いを完了します。PAD の決済手段を作成するには、payment_method パラメーターの billing_details プロパティに顧客のメールアドレスと口座名義人を含める必要があります。

const form = document.getElementById('payment-form'); const accountholderName = document.getElementById('accountholder-name'); const email = document.getElementById('email'); const submitButton = document.getElementById('submit-button'); const clientSecret = submitButton.dataset.secret; form.addEventListener('submit', async (event) => { event.preventDefault(); const {paymentIntent, error} = await stripe.confirmAcssDebitPayment( clientSecret, { payment_method: { billing_details: { name: accountholderName.value, email: email.value, }, }, } ); if (error) { // Inform the customer that there was an error. console.log(error.message); } else { // Handle next step based on PaymentIntent's status. console.log("PaymentIntent ID: " + paymentIntent.id); console.log("PaymentIntent status: " + paymentIntent.status); } });

Stripe.js は、ページ上のモーダル UI をロードして、銀行口座の詳細の収集と銀行口座の確認を処理し、オンライン同意書を提示して承認を収集します。

注

stripe.confirmAcssDebitPayment の完了には数秒かかる場合があります。この間、フォームが再送信されないように無効化し、スピナーのような待機中のインジケーターを表示します。エラーが発生した場合は、それを顧客に表示し、フォームを再度有効化し、待機中のインジケーターを非表示にします。

顧客が即時確認を完了すると、サブスクリプションは自動的に active になります。それ以外の場合は、サブスクリプションが incomplete の状態のままである場合の少額入金による確認の取り扱いについて、以下のセクションをご確認ください。

少額入金で銀行口座を確認する
クライアント側

注

顧客はサブスクリプションに対する少額入金を、サブスクリプションのライフサイクルで通常指定されている 23 時間以内ではなく、10 日以内に確認する必要があります。ただし、この期限は請求サイクルの日付以前に設定する必要があります。

すべての顧客が銀行口座を即座に確認できるとは限りません。このステップは、顧客が前のステップで即時確認フローからオプトアウトした場合にのみ適用されます。

この場合、Stripe は顧客の銀行口座に 2 回に分けて少額入金を自動的に行います。これらの入金が顧客のオンライン明細書に表示され、ACCTVERIFY 明細書表記が付けられるまでに 1〜2 営業日かかります。

前のステップで行った stripe.confirmAcssDebitPayment メソッドの呼び出しの結果として、requires_action 状態の PaymentIntent が返されます。この PaymentIntent には、確認を完了するための有益な情報を含む next_action フィールドが含まれています。

Stripe は請求書メールで入金の到着予定日を顧客に通知します。このメールには、Stripe がオンラインで提供する確認ページへのリンクが含まれ、顧客はそのページで入金額を確認して銀行口座の確認を完了することができます。

確認の失敗は 3 回までです。この上限を超えると、銀行口座の確認ができなくなります。また、少額入金の確認は 10 日経過するとタイムアウトになります。少額入金がこの期間内に確認されない場合、PaymentIntent は新しい支払い方法の詳細を要求する状態に戻ります。少額入金とは何か、どのように使用するのかを顧客に明確に伝えることで、顧客は確認に関連する問題を回避できます。

オプション: カスタムのメールと確認ページ

カスタムのメール通知の送信を選択した場合は、顧客にメールを送信する必要があります。このためには、next_action オブジェクトの verify_with_microdeposits[hosted_verification_url] の URL を使用して、顧客に確認プロセスを完了するよう指示します。

カスタムメールを送信していて、Stripe がオンラインで提供する確認ページを使用しない場合、Stripe.js を使用して、顧客がこれらの金額をお客様に伝えて銀行口座を確認するためのフォームを自社サイトに作成できます。

stripe.verifyMicrodepositsForPayment(clientSecret, { amounts: [32, 45], });

デフォルトの支払い方法を設定する
サーバー

これで、支払い方法が指定された顧客の有効なサブスクリプションを作成できましたが、この支払い方法は以降の支払いで自動的には使用されません。これ以降もこの支払い方法に自動的に請求するには、Webhook Consumer を使用して、新しいサブスクリプションの invoice.payment_succeeded イベントをリッスンし、デフォルトの支払い方法を設定します。

server.rb
Ruby
# Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
if event.type == 'invoice.payment_succeeded' invoice = event.data.object if invoice['billing_reason'] == 'subscription_create' subscription_id = invoice['parent']['subscription_details']['subscription'] # This example assumes you're using the default PaymentIntent that Stripe generated for the invoice. invoice_payments = Stripe::InvoicePayment.list({invoice: invoice['id']}) payment_intent_id = invoice_payments.data[0].payment.payment_intent # Retrieve the payment intent used to pay the subscription payment_intent = Stripe::PaymentIntent.retrieve(payment_intent_id) # Set the default payment method Stripe::Subscription.update( subscription_id, default_payment_method: payment_intent.payment_method ) end end

サブスクリプションのステータスを管理する
クライアント側

初回の支払いが完了すると、サブスクリプションの状態は active になり、それ以上のアクションは不要です。支払いが失敗した場合は、ステータスが自動請求設定で設定されたサブスクリプションステータスに変わります。支払いの失敗時には、顧客に通知して、別の支払い方法で請求する必要があります。

注

カナダのプレオーソリデビット支払いは、他の支払い方法に再試行スケジュールが設定されている場合でも、自動的に再試行することはありません。

組み込みをテストする

少額入金の確認メールを受信する

銀行口座の詳細を収集し、同意書を承認した後に、サンドボックスで少額入金の確認メールを受信するには、決済手段の詳細を確認する際に、payment_method[billing_details][email] フィールドに {any_prefix}+test_email@{any_domain} の形式でメールアドレスを指定します。

テスト用の口座番号

Stripe では、手動入力の銀行口座の組み込みが本番環境に移行する準備が整ったかどうかを確認するため、テスト用の口座番号をいくつか用意しています。支払いが自動的に成功または失敗するすべてのテスト用の口座は、以下のテスト用の少額入金を使用して確認してから設定を完了する必要があります。

銀行番号支店番号口座番号シナリオ
00011000000123456789少額入金が確認された後、支払いが直ちに成功します。
00011000900123456789少額入金が確認された後、3 分遅延してから支払いが成功します。
00011000000222222227少額入金が確認された後、支払いが直ちに失敗します。
00011000900222222227少額入金が確認された後、3 分遅延してから支払いが失敗します。
00011000000666666661確認用の少額入金の送金が失敗します。
00011000000777777771支払い金額が原因でアカウントの週次支払い金額の上限を超えるため、支払いが失敗します。
00011000000888888881支払い金額がアカウントの取引限度額を超えているため、支払いが失敗します。

サンドボックスで銀行口座確認の成功または失敗を再現するには、少額入金に以下の特定の金額を使用してください。

少額入金の金額シナリオ
32 および 45口座が無事に確認されます。
10 および 11許容された確認回数の超過をシミュレーションします。
その他の任意の数字の組み合わせ口座の確認が失敗します。

オプション請求サイクルを設定する

オプションサブスクリプションのトライアル

オプション将来の利用に備えて支払い方法の情報を保存する

このページはお役に立ちましたか。
はいいいえ
お困りのことがございましたら 、サポートにお問い合わせください。
早期アクセスプログラムにご参加ください。
変更ログをご覧ください。
ご不明な点がございましたら、お問い合わせください。
LLM ですか?llms.txt を読んでください。
Powered by Markdoc