コンテンツにスキップ
アカウントを作成
または
サインイン
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

PayPal によるサブスクリプションを設定する

PayPal を使用したサブスクリプションの作成と請求の方法をご紹介します。

Stripe のサンプル

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

このガイドを参照して、PayPal と Checkout を使用するサブスクリプションを設定します。

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

PayPal 継続支払いを有効にする

Stripe は、ほとんどのユーザーが Stripe ダッシュボードで PayPal 決済を有効にすると、継続支払いを自動的に有効にします。ただし、PayPal のポリシーと地域の制限により、ダッシュボードで PayPal 継続支払いを手動で有効にしなければならない場合があります。

Stripe を設定する
サーバ側

まず、Stripe アカウントが必要です。今すぐ登録してください。

アプリケーションから Stripe APIにアクセスするには、公式ライブラリを使用してください。

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'

継続支払いの製品と料金の作成

注意

Prices API は、Stripe で 1 回限りの購入およびサブスクリプションをモデル化する方法を統一します。Prices API を使用しない既存のシステムも引き続きサポートされますが、一部の Checkout 機能では Prices のみがサポートされます。Prices API へのアップグレードについては、移行ガイドを参照してください。

Checkout を使用するには、まず商品と価格を作成する必要があります。物品やサービスレベルごとに商品を作成します。各商品の料金体系は 1 つ以上の価格で示されます。

たとえば、10 USD/月、100 USD/年、9 EUR/月、90 EUR/年の、4 つの「価格」が設定されたソフトウェア「商品」を作成できます。これにより、対象商品の詳細を変更することなく、価格を変更したり追加したりできるます。商品と価格は、API を通じて、または Stripe ダッシュボードを使用して作成できます。

価格が購入時に決定される場合 (顧客が寄付金額を設定する場合など)、または事前に価格を作成しない選択をした場合は、Checkout セッションの作成時に価格をインラインで作成することができます。

商品の設定を開始する前に、サンドボックスを使用していることを確認してください。次に、販売する予定の商品とサービスを定義します。新しい商品と価格を作成するには、以下を実行します。

  • ダッシュボードで 商品 セクションに移動します
  • 商品を追加をクリックします
  • 価格を設定する際に「継続」を選択します
  • 料金プランを設定する

継続支払いの商品ごとに異なるパラメータを設定して、複数の料金プランを定義できます。各料金には ID が生成され、これを決済プロセス中に参照できます。

注

サンドボックスで作成された商品は本番環境にコピーできるため、再作成する必要はありません。ダッシュボードの商品の詳細表示で、右上隅にある本番環境にコピーをクリックします。この操作は、サンドボックスで作成された各商品に対して 1 回のみ実行できます。テスト商品に対する以降の更新は、本番環境の商品には反映されません。

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[]"="paypal" \ -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 時間で期限切れとなります。

注意

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

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

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

注

買い手が PayPal を使用して Stripe でサブスクリプションを確認すると、Stripe と PayPal の両方から買い手に領収書が届きます。

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

ダッシュボード、カスタム Webhook、またはサードパーティーのプラグインを使用して、顧客に注文の確認メールを送信したり、売上をデータベースに記録したり、配送ワークフローを開始するなどの、支払い後のイベントを処理します。

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

Checkout サマリー

注

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

Zapier などのプラグインを使用すると、Stripe の支払いからの情報を利用して購入のフルフィルメントシステムを自動更新できます。

プラグインで対応可能な自動化の例の一部を以下に挙げます。

  • 支払いの成功に対応して、注文の追跡に使用されるスプレッドシートを更新する
  • 支払いの成功に対応して、在庫管理システムを更新する
  • メールまたはチャットアプリケーションを使用して、社内のカスタマーサービスチームへの通知をトリガーする

組み込みをテストする

テスト API キー を使用して PayPal の実装をテストするには、リダイレクトページを表示します。リダイレクトページで支払いを認証することにより、支払い成功のケースをテストできます。PaymentIntent は requires_action から succeeded に移行します。

ユーザが認証に失敗するケースをテストするには、テスト API キーを使用してリダイレクトページを表示します。リダイレクトページで テスト支払い失敗 をクリックします。PaymentIntent は、requires_action から requires_payment_method に移行します。

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

subscription モードには継続支払いの料金を渡すだけでなく、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[]"="paypal" \ -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"

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

既存の料金 ID に渡すだけではなく、Checkout セッションの作成でアイテムの料金を定義することもできます。まず、Product (商品) を定義します。次に、商品 ID を使用し、それを unit_amount、currency、recurring の詳細とともに price_data に渡して、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[]"=paypal \ -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[]"=paypal \ -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[]"="paypal" \ -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[]"=paypal \ -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[]"=paypal \ -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[]"=paypal \ -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[]"="paypal" \ -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[]"=paypal \ -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[]"="paypal" \ -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