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

注

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

SEPA ダイレクトデビットによるサブスクリプションを設定する

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

Stripe のサンプル

GitHub のサンプルを確認するかデモをご覧ください。

Checkout セッションは、顧客の購入意向の詳細を表します。顧客がサブスクリプションを開始する場合は、Checkout セッションを作成します。顧客が Checkout セッションにリダイレクトされると、、顧客が購入を完了できる支払いフォームが Stripe に表示されます。顧客が購入を完了すると、サイトにリダイレクトされます。

Stripe を設定する
サーバー側

任意の Stripe クライアントをインストールします。

Command Line
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# Available as a gem sudo gem install stripe
Gemfile
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Stripe CLI をインストールします (オプション)。CLI には Webhook のテストが用意されていて、これを実行することで商品および価格を作成できます。

Command Line
homebrew
ソースからインストールする
No results
# Install Homebrew to run this command: https://brew.sh/ brew install stripe/stripe-cli/stripe # Connect the CLI to your dashboard stripe login

その他のインストールオプションについては、Stripe CLI を使ってみるをご覧ください。

料金体系モデルを作成する
ダッシュボード
Stripe CLI

ダッシュボードまたは Stripe CLI で商品とその価格を作成します。

この例では、「基本」と「プレミアム」という 2 つのサービスレベルオプションがある固定価格のサービスを使用しています。サービスレベルオプションごとに、1 つの商品と 1 つの継続価格を作成する必要があります (初期費用のような 1 回限りの支払いを追加する場合は、1 回限りの価格で 3 つ目の商品を作成します。わかりやすくするために、この例には 1 回限りの支払いを含めていません)。

この例では、各商品が 1 カ月間隔で請求されます。基本商品の価格は 5 EUR で、プレミアム商品の価格は 15 EUR です。

商品を追加ページに移動し、2 つの商品を作成します。商品ごとに 1 つの価格を追加し、それぞれに毎月の継続請求期間を設定します。

  • プレミアム商品: 追加機能を備えたプレミアムサービス

    • 価格:定額 | 15 EUR
  • 基本商品: 最低限の機能を備えた基本サービス

    • 価格:定額 | 5 EUR

価格を作成したら、価格 ID を記録しておき、他のステップで使用できるようにします。価格 ID は、price_G0FvDp6vZvdwRZ のように表示されます。

準備が完了したら、ページ右上の本番環境にコピーボタンを使用して、サンドボックスから本番環境に商品を複製します。

他の料金体系モデルについては、Billing の例をご覧ください。

Checkout セッションを作成する
クライアント側
サーバー側

サーバー側のエンドポイントを呼び出して Checkout セッションを作成する購入ボタンをウェブサイトに追加します。

index.html
<html> <head> <title>Checkout</title> </head> <body> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>

Checkout セッションのパラメーター

使用できるパラメーターの完全なリストについては、Checkout セッションの作成を参照してください。

既存の Price の ID を使用して Checkout セッションを作成します。モードが subscription に設定されており、1 つ以上の継続価格を渡すことを確認してください。継続価格に加えて、1 回限りの価格を追加できます。Checkout セッションを作成したら、レスポンスで返された URL に顧客をリダイレクトします。

Command Line
cURL
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "payment_method_types[]"="sepa_debit" \ -d "line_items[][price]"=
{{PRICE_ID}}
\ -d "line_items[][quantity]"=1 \ -d "mode"="subscription" \ -d "success_url"="https://example.com/success?session_id={CHECKOUT_SESSION_ID}" \ -d "cancel_url"="https://example.com/cancel" \

顧客が支払いを正常に完了すると、success_url (支払いが成功したことを顧客に通知するウェブページ) にリダイレクトされます。上記の例のように、success_url に {CHECKOUT_SESSION_ID} テンプレート変数を含めることで、成功ページでセッション ID が使用できるようになります。

顧客が支払いを完了せずに Checkout セッションでお客様のロゴをクリックすると、Checkout は、cancel_url に顧客を誘導して、ウェブサイトにリダイレクトします。これは通常、顧客が Checkout にリダイレクトされる前に表示していたウェブサイトのページです。

デフォルトでは、Checkout セッションは作成後 24 時間で期限が切れます。

ダッシュボードで、顧客が使用できる支払い方法を有効にします。Checkout は、複数の支払い方法に対応しています。

注意

次に挙げる理由により、支払い開始の検出時には、success_url へのリダイレクトのみに依存しないでください。

  • 悪意を持つユーザが、支払いをせずに success_url に直接アクセスし、商品やサービスにアクセスできるようになる可能性があります。
  • 顧客が支払いの成功後に success_url に到達するとは限りません。リダイレクトが発生する前に、顧客がブラウザタブを閉じることがあります。

支払いが成功したことを確認する

顧客は支払いを完了すると、success_url パラメータで指定された URL にリダイレクトされます。通常、これはお客様の Web サイト上のページであり、支払いが成功したことを顧客に知らせます。

ただし、SEPA Direct Debit は通知遅延型の決済手段であるため、売上はすぐには利用可能になりません。このため、売上が利用可能になるまで注文のフルフィルメントを保留します。支払いが成功すると、基となる PaymentIntent のステータスが processing から succeeded に変わります。

次のように、複数の方法で支払いが成功したことを確認できます。

成功した支払いは、ダッシュボードの支払いの一覧に表示されます。支払いをクリックすると、支払いの詳細ページに移動します。Checkout サマリーセクションには、請求先情報と購入された商品のリストが記載されています。これらを使用して、注文を手動でフルフィルメントすることができます。

注

Stripe は顧客が支払いに成功するたびにお客様にメール通知を送信し、今後受領する支払いの最新情報を把握できるようサポートします。ダッシュボードを使用してメール通知を設定します。

構築したシステムをテストする

組み込みのテストには、以下の IBAN を使用できます。各 IBAN に対応する支払い方法の詳細が収集されますが、支払い時にはそれぞれ異なる動作を示します。

IBAN をテストする
アカウント番号説明
IE29AIBK93115212345678PaymentIntent のステータスは、processing から succeeded に変化します。
IE24AIBK93115212345671The PaymentIntent status transitions from processing to succeeded after at least three minutes.
IE02AIBK93115212345679PaymentIntent のステータスは、processing から requires_payment_method に変化します。
IE94AIBK93115212345672The PaymentIntent status transitions from processing to requires_payment_method after at least three minutes.
IE51AIBK93115212345670PaymentIntent のステータスは、processing から succeeded に変化しますが、不審請求の申請が即座に作成されます。
IE10AIBK93115200343434支払金額がアカウントの週次支払い金額の上限を超えるため、支払いは charge_exceeds_source_limit エラーコードで失敗します。
IE69AIBK93115200121212支払い金額がアカウントの取引金額の上限を超えているため、支払いは charge_exceeds_weekly_limit エラーコードで失敗します。
IE10AIBK93115202222227支払いは insufficient_funds エラーコードで失敗します。

オプション1 回限りの設定手数料を追加する
サーバー側

subscription モードには継続支払いの料金を渡すだけでなく、1 回限りの料金も追加できます。これらは、サブスクリプションによって作成される初回の請求書にのみ記載されます。これは、サブスクリプションに付随する設定手数料やその他の 1 回限りの手数料の追加に便利です。既存の商品に 1 回限りの料金を追加することも、商品を新しい料金で新規作成することもできます。

Command Line
curl
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "payment_method_types[]"="sepa_debit" \ -d "line_items[0][price]"="{{RECURRING_PRICE_ID}}" \ -d "line_items[0][quantity]"=1 \ -d "line_items[1][price]"="{{ONE_TIME_PRICE_ID}}" \ -d "line_items[1][quantity]"=1 \ -d "mode"="subscription" \ -d "success_url"="https://example.com/success?session_id={CHECKOUT_SESSION_ID}" \ -d "cancel_url"="https://example.com/cancel"

オプション価格と商品をインラインで作成する
サーバー側

Checkout セッション作成時は、既存の価格 ID を渡すだけではなく、新しい価格を作成することもできます。まず、Product (商品) を定義します。次に、商品 ID を使用して Checkout セッションを作成します。必ず、unit_amount、currency、および recurring の詳細とともに price_data を渡してください。

Command Line
curl
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "payment_method_types[]"=sepa_debit \ -d line_items[0][price_data][unit_amount]=5000 \ -d line_items[0][price_data][currency]=eur \ -d line_items[0][price_data][product]=
{{PRODUCT_ID}}
\ -d line_items[0][price_data][recurring][interval]=month \ -d line_items[0][quantity]=1 \ -d mode=subscription \ -d success_url="https://example.com/success?session_id={CHECKOUT_SESSION_ID}" \ -d cancel_url="https://example.com/cancel"

また、商品もインラインで作成する必要がある場合は、product_data を使用して作成できます。

Command Line
curl
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "payment_method_types[]"=sepa_debit \ -d "line_items[][price_data][currency]"=eur \ -d "line_items[][price_data][product_data][name]"=T-shirt \ -d "line_items[][price_data][unit_amount]"=2000 \ -d "line_items[][quantity]"=1 \ -d "mode"="subscription" \ -d success_url="https://example.com/success?session_id={CHECKOUT_SESSION_ID}" \ -d cancel_url="https://example.com/cancel"

オプション既存の顧客
サーバ側

顧客を表す Customer オブジェクトを以前に作成している場合、Checkout セッションを作成する際に customer 引数を使用してその顧客 ID を渡します。こうすることで、そのセッション中に作成されたすべてのオブジェクトが正しい Customer オブジェクトに関連付けられます。

顧客 ID を渡すと、Stripe は Customer オブジェクトに保管されたメールアドレスを使用して、Checkout ページのメールフィールドに事前入力します。顧客が Checkout ページでメールアドレスを変更すると、支払いの成功後に Customer オブジェクトの該当項目が更新されます。

Command Line
curl
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "customer"=
{{CUSTOMER_ID}}
-d "payment_method_types[]"="sepa_debit" \ -d "line_items[][price]"=
{{PRICE_ID}}
\ -d "line_items[][quantity]"=1 \ -d "mode"="subscription" \ -d "success_url"="https://example.com/success" \ -d "cancel_url"="https://example.com/cancel"

オプション顧客データの事前入力
サーバ側

すでに顧客のメールを収集していて、それを Checkout セッションで事前に入力するには、Checkout セッションの作成時に customer_email を渡します。

Command Line
curl
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d customer_email="customer@example.com" \ -d "payment_method_types[]"=sepa_debit \ -d "line_items[][price]"=
{{PRICE_ID}}
\ -d "line_items[][quantity]"=1 \ -d mode=subscription \ -d success_url="https://example.com/success" \ -d cancel_url="https://example.com/cancel"

オプショントライアルの処理
サーバ側

Checkout セッションで trial_end または trial_period_days を使用して、トライアル期間の日数を指定できます。この例では、trial_period_days を使用して 30 日間のトライアルを含むサブスクリプションの Checkout セッションを作成します。

Command Line
curl
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "payment_method_types[]"=sepa_debit \ -d "line_items[][price]"=
{{PRICE_ID}}
\ -d "line_items[][quantity]"=1 \ -d "subscription_data[trial_period_days]"=30 \ -d mode=subscription \ -d success_url="https://example.com/success?session_id={CHECKOUT_SESSION_ID}" \ -d cancel_url="https://example.com/cancel"

Checkout では、トライアルを含むサブスクリプションに対して以下の情報が自動的に表示されます。

  • トライアル期間
  • トライアル期限満了後の支払いの頻度と金額

法令遵守要件についての詳細は、Billing またはサポートのガイドを参照してください。法令遵守要件

オプション税率
サーバー側

Checkout セッションで税率 (消費税、VAT、GST、その他) を指定し、サブスクリプションに税金を適用できます。

  • 顧客が決済フロープロセスを開始する前に、顧客に請求する正確な税率を把握している場合は、固定税率を使用します (イギリスの顧客にのみ販売し、常に 20% の VAT を課税する場合など)。
  • Prices API では、請求する税率を決定する前に顧客の詳細情報 (請求先住所、配送先住所など) が必要な場合に、動的税率を使用できます。動的税率では、地域ごとに異なる複数の税率 (イギリスの顧客には 20% の VAT、アメリカ・カリフォルニア州の顧客には 7.25% の売上税など) を作成でき、Stripe は顧客の居住地を、これらの税率のいずれかとマッチングします。

Checkout で開始したサブスクリプションにデフォルトの税率を適用するには、subscription_data.default_tax_rates を設定します。

Command Line
curl
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "payment_method_types[]"=sepa_debit \ -d "line_items[][price]"=
{{PRICE_ID}}
\ -d "line_items[][quantity]"=1 \ -d "subscription_data[default_tax_rates][]"="{{TAX_RATE_ID}}" \ -d mode=subscription \ -d success_url="https://example.com/success" \ -d cancel_url="https://example.com/cancel"

また、line_items.tax_rates あるいは subscription_data.items.tax_rates を指定して、特定のプランまたはインボイスのラインアイテムに税率を適用することもできます。

Command Line
curl
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "payment_method_types[]"="sepa_debit" \ -d "line_items[][price]"=
{{PRICE_ID}}
\ -d "line_items[][quantity]"=1 \ -d "line_items[][tax_rates][0]"="{{TAX_RATE_ID}}" \ -d "mode"="subscription" \ -d "success_url"="https://example.com/success" \ -d "cancel_url"="https://example.com/cancel"

Stripe のデータエクスポート機能を使用して、送金に必要となる定期的な申告書に入力することができます。詳細については、納税申告および送金を参照してください。

オプションクーポンの追加
サーバ側

Checkout セッションでは、discounts (割引) を設定することで、サブスクリプションにクーポンを適用できます。このクーポンは、顧客の他のクーポンよりも優先されます。既存の顧客でサブスクリプションを作成している場合、その顧客に関連付けられたクーポンがサブスクリプションのインボイスに適用されます。

Command Line
curl
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "payment_method_types[]"=sepa_debit \ -d "line_items[][price]"=
{{PRICE_ID}}
\ -d "line_items[][quantity]"=1 \ -d "discounts[][coupon]"="{{COUPON_ID}}" \ -d "mode"="subscription" \ -d success_url="https://example.com/success" \ -d cancel_url="https://example.com/cancel"

顧客に表示されるプロモーションコードを追加する

また、ユーザーが引き換え可能なプロモーションコードは、Checkout セッションで allow_promotion_codes パラメーターを使用して有効にできます。Checkout セッションで allow_promotion_codes が有効になっている場合、Checkout には顧客が利用するためのプロモーションコードの入力欄が表示されます。クーポンおよびプロモーションコードは、顧客が Checkout で引き換えられるようにダッシュボードまたは API で作成します。

Command Line
curl
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "payment_method_types[]"="sepa_debit" \ -d "line_items[0][price_data][unit_amount]"=2000 \ -d "line_items[0][price_data][currency]"="eur" \ -d "line_items[0][price_data][product]=
{{PRODUCT_ID}}
"
\ -d "line_items[0][price_data][recurring][interval]=month" \ -d "line_items[0][quantity]"=1 \ -d "allow_promotion_codes"="true" \ -d "mode"="subscription" \ -d "success_url"="https://example.com/success" \ -d "cancel_url"="https://example.com/cancel"

参照情報

  • 自社のシステムを構築する
  • カスタマーポータルでサブスクリプションを管理する
このページはお役に立ちましたか。
はいいいえ
  • お困りのことがございましたら 、サポートにお問い合わせください。
  • 早期アクセスプログラムにご参加ください。
  • 変更ログをご覧ください。
  • ご不明な点がございましたら、お問い合わせください。
  • LLM ですか?llms.txt を読んでください。
  • Powered by Markdoc