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

注

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

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

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

注

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

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

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

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

  1. 商品ページに移動し、商品を作成をクリックします。
  2. 商品の名前を入力します。オプションで説明を追加して、商品の画像をアップロードできます。
  3. 商品税コードを選択します。商品税コードの詳細をご確認ください。
  4. 継続を選択します。次に、価格に**15を入力し、通貨として**を選択します。
  5. 価格に税金を含めるかどうかを選択します。税金設定のデフォルト値を使用するか、値を手動で設定できます。この例では、自動を選択します。
  6. 請求期間で月次を選択します。
  7. その他の料金体系オプションをクリックします。次に、この例の料金体系モデルとして定額を選択します。定額料金とその他の料金体系モデルの詳細をご確認ください。
  8. 将来的に特定の価格を整理、クエリ、更新するために、内部価格の説明と検索キー 追加します。
  9. 次へをクリックします。次に、商品を追加をクリックします。

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

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

注

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

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

Command Line
curl
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
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
Python
PHP
Java
Node.js
Go
.NET
No results
# 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 になり、それ以上のアクションは不要になります。支払いが失敗した場合は、ステータスが 自動回収設定 で設定された Subscription status に変わります。支払いが失敗した場合は顧客にその旨を通知して、別の支払い方法で請求してください。

注

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

組み込みをテストする

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

銀行口座の詳細を収集し、同意書を承認した後に、サンドボックスで少額入金の確認メールを受信するには、決済手段の詳細を確認する際に、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