コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
財務の自動化
プラットフォームおよびマーケットプレイス
資金管理
開発者向けのツール
始める
支払い
財務の自動化
始める
支払い
財務の自動化
プラットフォームおよびマーケットプレイス
資金管理
概要
Billing
    概要
    Billing API について
    サブスクリプション
    Invoicing
    従量課金
    Connect と Billing
    Tax と Billing
    見積もり
    売上回収
    オートメーション
    スクリプト
    収益認識
    顧客管理
      顧客
      顧客の請求書残高
      カスタマーポータル
      ノーコードのカスタマーポータルを設定
      API でカスタマーポータルを設定する
      カスタマーポータルを設定する
      カスタマーポータルのディープリンクとフロー
      カスタマーポータルにキャンセルページを追加
    エンタイトルメント
    実装内容をテストする
税金
レポート機能
データ
スタートアップの企業設立
ホーム財務の自動化BillingCustomer management

注

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

API でカスタマーポータルを実装する

Stripe API を使用してカスタマーポータルを実装する方法をご紹介します。

ページをコピー

カスタマーポータルを使用すれば、構築を自身で行わなくても顧客がサブスクリプション、請求書、請求書を管理できるようにすることができます。ポータルの設定と導入を終えると、顧客は提携ブランドのダッシュボードにリダイレクトされます。そこで、顧客は設定された機能に基づいて各自のアカウントを管理できます。

アプリケーションをカスタマーポータルに組み込むには、以下の手順に従います。

  1. ポータルの機能とユーザーインターフェイス (UI) を設定します。これはダッシュボードで実行できます。
  2. リダイレクトを実装してアプリケーションにポータルを導入します。
  3. Webhook をリッスンして顧客のサブスクリプションと支払い方法の更新を受け取ります。
  4. 本番環境でのポータルの利用を開始します。

または、以下のサンプルプロジェクトのいずれかを複製します。

  • Firebase
  • Netlify Identity
  • Ruby on Rails。

必要に応じて、ポータルセッションをカスタマイズし、顧客ごとに異なる機能を有効にできます。

ポータルを設定する

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

カスタマーポータルを実装する前に、ダッシュボードで機能とブランディングを設定し、ユーザーがポータルで実行できる操作を定義します。機能は、商品と価格のカタログによって変わるため、サンドボックスと本番環境ではそれぞれ異なる設定が用意されています。

よくある間違い

Stripe Connect でカスタマーポータルを使用している場合は、連結アカウントではなく、プラットフォームのカスタマーポータルを設定してください。

さまざまな顧客に合わせて複数のポータル設定を作成する場合、または Connect プラットフォームで連結アカウントの設定を管理する場合、API を使用してこれを行うことができます。

Command Line
cURL
curl https://api.stripe.com/v1/billing_portal/configurations \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "features[invoice_history][enabled]"=true

商品カタログを設定する

顧客が定期支払いのアップグレード、ダウングレード、数量の変更を実行できるようにする場合は、商品カタログの設定も必要です。これには、顧客がアップグレードまたはダウングレードできる対象の商品と価格、および顧客が数量を更新できるサブスクリプションが含まれます。商品と価格の作成の詳細については、ガイドをご覧ください。カスタマーポータルを請求のみに使用する場合は、製品カタログを設定する必要はありません。

ポータルには、商品カタログの以下の属性が表示されます。

  • 商品名と説明: これらの属性は、ダッシュボードと API で編集できます。
  • 商品ごとの数量制限: これらの属性は、ダッシュボードで編集できます。
  • 金額、通貨、請求間隔: これらの属性は変更不可であり、ダッシュボードと API で作成するときにのみ設定できます。

納税者番号の収集を有効にする

Stripe Tax を使用してサブスクリプションまたは請求書の税金を自動徴収する場合、カスタマーポータルで顧客に納税者番号の設定と更新を行ってもらうことができます。Stripe Billing はその顧客の請求書に納税者番号を追加します。この機能を有効にするには、カスタマーポータルの設定に進み、納税者番号を有効にします。サブスクリプションや請求書に顧客の納税者番号を連携する方法を詳しくご覧ください。

Stripe Tax の設定、継続支払いの税金の徴収、カスタムの決済フローでの税金の徴収、およびラインアイテムと請求書の税率の設定の方法についてご紹介します。

プレビューしてテストする

設定を行う際、 プレビューをクリックしてポータルをプレビューできます。ポータルの読み取り専用のバージョンが表示され、顧客がどのようにサブスクリプションや請求詳細を管理できるかを確認できます。

設定を保存したらポータルを起動し、サンドボックスで顧客を使用してテストすることができます。ダッシュボードで顧客に移動し、アクションをクリックして、カスタマーポータルを開くを選択します。

ダッシュボードがサンドボックス内で使用できる場合のみ、ポータルを読み取り専用バージョンとしてプレビューできます。ポータルをプレビューしてテストできない場合は、設定をチェックして、ポータル設定がサンドボックスに保存されていることを確認してください。プレビューとテストを有効にするには、ダッシュボードでの編集権限も変更する必要があります。

サイトにリダイレクトを実装する
クライアント側
サーバー側

ポータルセッションはカスタマーポータルへのエントリーポイントです。ここには、ポータルへの固有で一時的なリンクが表示されます。顧客が請求または請求書の自己管理を希望する場合には、新しいポータルセッションを作成して、顧客をそのセッションの url にリダイレクトします。

顧客がクリックしてポータルに移動するためのボタンをサイトに追加します。POST リクエストを使用してポータルセッションを作成します。

<form method="POST" action="/create-customer-portal-session"> <button type="submit">Manage billing</button> </form>

次に、ポータルセッションを作成して顧客をリダイレクトするエンドポイントを追加します。セッションを作成する前に、サイトで顧客を認証してください。セッションを作成するには、顧客の ID と return_url が必要です。これは、ダッシュボードの設定でデフォルトの戻り先 URL が設定されていない場合に要求されます。

ポータルセッションを作成すると、Stripeは portal session object を返します。これには、顧客がカスタマーポータルにアクセスするために使用する、セッションのワンタイム URL が含まれます。

Command Line
cURL
curl https://api.stripe.com/v1/billing_portal/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d customer={{CUSTOMER_ID}} \ --data-urlencode return_url="https://example.com/account"

Webhook をリッスンする
サーバー側

サブスクリプションのアップグレード、ダウングレード、キャンセルが実行された場合、顧客が実際に登録している商品またはサービスのみを受け取るようにする必要があります。Stripe は Webhook を使用して、お客様の実装にこれらの変更を通知します。Event オブジェクトでサブスクリプションまたは顧客の ID を参照して、イベントが適用される顧客を特定します。

Stripe は、請求書の支払いが行われると、Webhook を使用して実装への通知も行います。Event オブジェクトで請求書または顧客の ID を参照して、イベントに該当する顧客を判断します。

これまでに Stripe で Webhook エンドポイントを設定していなかった場合、Stripe の Webhook ドキュメントを参照して設定を行うと、以下のイベントをリッスンできるようになります。

イベント説明

customer.subscription.updated

これをリッスンして、サブスクリプションのアップグレードとダウングレードをモニタリングします。アップグレードの場合は、Subscription オブジェクトの subscription.items.data[0].price 属性を確認して、顧客がサブスクリプションを登録する価格を確認します。次に、新しい商品へのアクセス権を付与します。ダウングレードの場合は、同じ属性を確認して、必要に応じてアクセスを調整または取り消します。

顧客がポータルを使用してトライアルのあるサブスクリプションをアップグレードまたはダウングレードする場合、新しい料金に切り替わると直ちにサブスクリプションのトライアルが終了します。

customer.subscription.updatedこれをリッスンして、サブスクリプションの数量の更新を監視します。このイベントを受け取ったら、subscription.items.data[0].quantity 属性を確認して、顧客がサブスクリプションを登録する数量を確認します。次に、新しい数量へのアクセス権を付与します。

customer.subscription.deleted

これをリッスンして、サブスクリプションのキャンセルを監視します。このイベントを受信したら、顧客の商品へのアクセスを取り消します。ポータルで請求期間終了時にサブスクリプションをキャンセルするよう設定している場合は、customer.subscription.updated イベントをリッスンして、キャンセルの実行前に通知を受け取るようにします。cancel_at_period_end が true の場合、サブスクリプションは請求期間の終了時にキャンセルされます。

顧客の考えが変わった場合、顧客は請求期間の終了前であればサブスクリプションを再び有効にできます。これが実行されると、customer.subscription.updated イベントが送信されます。cancel_at_period_end が false になっていることと、顧客がサブスクリプションを再び有効にしたことを確認してください。

payment_method.attached顧客が支払い方法を追加したときに発生します。
payment_method.detached顧客が支払い方法を削除したときに発生します。
customer.updatedinvoice_settings.default_payment_method 属性を確認して、顧客が新しいデフォルトとして選択した支払い方法を判断します。顧客レベルのデフォルトの支払い方法を上書きするサブスクリプションがある場合には、顧客はこの上書きを削除できます。このイベントを受け取ったときのサブスクリプションの default_payment_method 属性を確認し、上書きが削除されたかどうかを確認します。この Webhook を使用してデータベース内の関連する情報をすべて更新します。更新はすべて請求先情報の変更としてのみ扱う必要があります。顧客の請求先メールアドレスを、ログイン認証情報として使用しないでください。
customer.tax_id.created顧客が納税者番号を管理するときに発生します。Stripe は一部のタイプの納税者番号を検証できます。詳細については、納税者番号のガイドをご覧ください。
customer.tax_id.deleted顧客が納税者番号を管理するときに発生します。Stripe は一部のタイプの納税者番号を検証できます。詳細については、納税者番号のガイドをご覧ください。
customer.tax_id.updatedこれをリッスンして、顧客の納税者番号に関する検証の更新を取得します。詳細については、納税者番号のガイドをご覧ください。
billing_portal.configuration.created設定が作成されたときに発生します。
billing_portal.configuration.updated設定が更新されたときに発生します。
billing_portal.session.createdポータルセッションが作成されたときに発生します。

本番環境へ移行

ポータルは、本番環境で有効にする前に必ずテストしてください。本番環境に移行する準備ができたら以下のことを行います。

ポータルセッションを作成すると、Stripe から portal session オブジェクトが返されます。これにはセッションの一時的な URL が含まれており、顧客がカスタマーポータルにアクセスする際はこの URL を使用する必要があります。また、login_page パラメーターを指定して、ポータルの設定ごとに共有可能なリンクを 1 件作成することもできます。

  • ダッシュボードのテストデータを表示をオフにします。
  • 本番環境でポータルを設定します。
  • 本番環境で Webhook を追加します。

Stripe は、本番環境用に 1 つ、サンドボックスごとに 1 つずつ、異なるポータル設定セットを用意しています。システムを検証しやすくするために、一方の環境に変更を加えても、もう一方の環境の設定には影響しません。

オプション特定のページへのディープリンク

オプションポータルセッションをカスタマイズする
サーバー側

オプションブランディングをカスタマイズする

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