コンテンツにスキップ
アカウントを作成
または
サインイン
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 ダイレクトデビット
          Sofort と SEPA ダイレクトデビット
        サードパーティーによる決済処理を導入
        回収方法
        支払いの詳細を更新するリンクを共有する
        強力な顧客認証 (SCA)
        サブスクリプションを管理
        サブスクリプションの修正
        保留中の更新の管理
      アナリティクス
    Invoicing
    従量課金
    Connect と Billing
    Tax と Billing
    見積もり
    売上回収
    オートメーション
    スクリプト
    収益認識
    顧客管理
    エンタイトルメント
    実装内容をテストする
税金
レポート機能
データ
スタートアップの企業設立
ホーム財務の自動化BillingSubscriptionsSubscription 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"

The response includes the subscription’s first Invoice. This contains the invoice’s payments, which includes a default PaymentIntent that Stripe generated for this invoice and the confirmation secret which you can use on the client side to securely complete the payment process instead of passing the entire PaymentIntent object. Return the latest_invoice.confirmation_secret.client_secret to the front end to complete payment.

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

カナダのプレオーソリデビットを使用するには、プレオーソリデビット利用規約を使用して、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/v3/"></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 日以内に確認する必要があります。ただし、この期限は請求サイクルの日付以前に設定する必要があります。

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

In this case, Stripe automatically sends two micro-deposits to the customer’s bank account. These deposits take 1–2 business days to appear on the customer’s online statement and have statement descriptors that include ACCTVERIFY.

前のステップで行った 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 になり、それ以上のアクションは不要です。支払いが失敗した場合は、ステータスが自動請求設定で設定されたサブスクリプションステータスに変わります。支払いの失敗時には、顧客に通知して、別の支払い方法で請求する必要があります。

注

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

組み込みをテストする

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

To receive the micro-deposit verification email in a sandbox after collecting the bank account details and accepting a mandate, provide an email in the payment_method[billing_details][email] field in the form of {any_prefix}+test_email@{any_domain} when confirming the payment method details.

テスト用の口座番号

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

銀行番号支店番号口座番号シナリオ
00011000000123456789少額入金が確認された後、支払いが直ちに成功します。
00011000900123456789少額入金が確認された後、3 分遅延してから支払いが成功します。
00011000000222222227少額入金が確認された後、支払いが直ちに失敗します。
00011000900222222227少額入金が確認された後、3 分遅延してから支払いが失敗します。
00011000000666666661確認用の少額入金の送金が失敗します。
00011000000777777771Fails the payment due to the payment amount causing the account to exceed its weekly payment volume limit.
00011000000888888881Fails the payment due to the payment amount exceeding the account’s transaction limit.

To mimic successful or failed bank account verifications in a sandbox, use these meaningful amounts for micro-deposits:

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

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

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

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

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