# カスタムの Capital プログラムを構築する API を実装してカスタムの Capital プログラムを構築します。 > Capital for platforms は[パブリックプレビュー](https://docs.stripe.com/release-phases.md)で利用できます。 [Stripe Capital](https://docs.stripe.com/capital/how-capital-for-platforms-works.md) を使用すると、プラットフォームで連結アカウントの事前適格融資オファーを取得し、準拠した融資オファーアプリケーションを公開し、進行中の融資に関する継続的なレポートを提供できます。 このガイドでは、[Connect](https://docs.stripe.com/connect.md) プラットフォームを [Capital API](https://docs.stripe.com/api/capital/financing_offers.md) に導入する方法について説明します。 ### Capital のライフサイクル このプログラムを開始するには、プラットフォームが Capital のライフサイクルの以下の 3 つのフェーズに対応可能である必要があります。 - 対象のユーザーに融資オファーを勧める。 - 進行中の融資に対する融資レポートページへのアクセスを提供する。 - ユーザーが融資を全額支払った後も、融資レポートページへのアクセスを引き続き提供します。 このガイドでは以下の方法について説明します。 - 対象ユーザーの融資オファーを取得します。 - ユーザーが融資の申し込みを利用できるようにします。 - ユーザーに融資レポートページへのアクセスを提供します。 ## ブランディング設定を確認する [ダッシュボード] Capital オファーを受け取るすべてのユーザー向けのオファーメール、申請、融資レポートページに、お客様のビジネス名、アイコン、ロゴ、ブランドカラーが表示されます。 \**[Connect ブランディング設定](https://dashboard.stripe.com/settings/connect/stripe-dashboard/branding)\**に移動し、プラットフォームのブランディング設定が正しいことを確認します。 ![Capital オファーの申し込みページ](https://b.stripecdn.com/docs-statics-srv/assets/offer-page.66c647c99e2b25b314b7ca8be2cc98a4.png) ## 未提供のテスト用融資オファーを作成する [ダッシュボード] システムを構築するにあたり、*サンドボックス* (A sandbox is an isolated test environment that allows you to test Stripe functionality in your account without affecting your live integration. Use sandboxes to safely experiment with new features and changes)を使用することをお勧めします。サンドボックスで、[Capital ダッシュボード](https://dashboard.stripe.com/test/connect/capital)にアクセスします。 1. **作成**をクリックして**融資オファーの作成**モーダルを開き、テスト用融資オファーを作成できます。デフォルトのオプションでは、融資額 1,000 USD の未提供の融資オファーが作成されます。 1. デフォルトのオプションをそのままにして**融資オファーを作成**をクリックします。 1. ダッシュボードで、作成したオファーに対応する行をクリックします。 連結アカウントの詳細ページの融資と資金調達セクションに、ユーザーの融資オファーの詳細が表示されます。 ## 融資オファーを取得する [サーバー側] [List financing offers (融資オファーの一覧表示)](https://docs.stripe.com/api/capital/financing_offers/list.md) エンドポイントを使用して、プラットフォームユーザーすべての融資オファーを取得できます。 #### curl ```bash curl https://api.stripe.com/v1/capital/financing_offers \ -u <>: ``` オファーが正常に作成されると、次のようなレスポンスが返されます。 ```json { "object": "list", "url": "/v1/capital/financing_offers", "has_more": false, "data": [ { "id": "financingoffer_abc123", "object": "capital.financing_offer" ..., }, {...} ] } ``` [Retrieve financing offer (融資オファーの取得)](https://docs.stripe.com/api/capital/financing_offers/retrieve.md#retrieve_financing_offer) エンドポイントを使用して、融資オファーを確認できます。上記の一覧から最初の融資オファーを取得します。 #### curl ```bash curl https://api.stripe.com/v1/capital/financing_offers/financingoffer_abc123 \ -u <>: ``` ## オファーメールを送信 [サーバー側] 融資オファーが作成されると、Stripe は `capital.financing_offer.created` *Webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) を送信します。Webhook の実装を更新して、`capital.financing_offer.created` Webhook をリッスンします。自社でカスタマイズしたメールを送信している場合、Webhook はユーザーにオファーを通知する重要な通知になります。 > [マーケティングガイダンス](https://docs.stripe.com/capital/marketing.md)ページを確認して、オファーメールの内容が銀行規制に準拠していることをご確認ください。審査と承認に必要なユーザーに表示される資料が変更された場合には[変更リクエストフォーム](https://form.asana.com/?k=8K51UWmWhttehNFD5qBLdg&d=974470123217835)を使用してすべての変更事項を提出してください。 メールでは、ユーザーにプラットフォームダッシュボードの専用の Capital セクションへのリンクを提供します。ユーザーは [Account Links](https://docs.stripe.com/api/account_links.md) を使用して Capital の融資申し込みにアクセスします。 Account Links は生成後、短時間で期限切れになるため、申し込みのリンクを再生成する方法をユーザーに提供します。タイプ `capital_financing_offer` の Account Link を生成して、プラットフォームのダッシュボードに融資申し込みへのリンクを含めます。 ### アカウントリンクの有効期限を処理する オファーメールにアカウントリンクの URL を直接送信しないでください。受取人がメールを開く前にアカウントリンクが期限切れになる可能性があるためです。代わりに、プラットフォームでホストされている安定した URL(`https://yourplatform.com/capital/accept_offer` など)を含めます。リンクを以下のように設定してください。 1. ユーザーを認証する。 1. API を使用して新しいアカウントリンクを生成します。 1. 新しく生成されたアカウントリンク URL にユーザーをリダイレクトします。 こうすることで、ユーザーはメールを開くタイミングに関係なく、常に最新の有効なアカウントリンクを受け取ることができます。 #### curl ```bash curl https://api.stripe.com/v1/account_links \ -u <>: \-d account=acct_123 \ # The URL the user will be redirected to if the account link is expired, has been previously-visited, or is otherwise invalid. -d refresh_url="https://example.com/reauth" \ # The URL the user will be redirected to after completing the linked flow. -d return_url="https://example.com/thanks" \ -d type=capital_financing_offer ``` Account Link が正常に作成されると、次のようなレスポンスが返されます。 ```json { "object": "account_link", "created": 1611264596, "expires_at": 1611264896, "url": "https://connect.stripe.com/capital/offer/SrjgLUfa0O7K" } ``` Webhook の実装を更新した後に、[ダッシュボード](https://dashboard.stripe.com/test/connect/capital)で新たにオファーを作成し、`capital.financing_offer.created` Webhook が届くことを確認します。 ### オファーを提供済みとしてマークする Webhook 導入を更新して、[オファーメールの送信後に融資オファーを提供済み](https://docs.stripe.com/api/capital/financing_offers/mark_delivered.md)としてマークします。[ダッシュボード](https://dashboard.stripe.com/test/connect/capital)または [Financing Offers API](https://docs.stripe.com/api/capital/financing_offers/retrieve.md) を使用して、融資オファーのステータスが提供済みであることを確認できます。 #### curl ```bash curl https://api.stripe.com/v1/capital/financing_offers/financingoffer_abc123/mark_delivered \ -u <>: ``` オファーを提供済みとしてマークし、連結アカウントにマーケティングを行ったことを Stripe で確認する必要があります。オファーのメールを送信する際は、BCC [Capital-offers@stripe.com](mailto:capital-offers@stripe.com) に送信してください。 ## ステータスの変化をリッスンする [サーバー側] `capital.financing_offer.created` Webhook に加え、融資オファーが別のステータスに移行するたびに、Stripe はさらに Webhook を送信します。受信する可能性がある Webhook の詳細な一覧を次に紹介します。 | **Webhook の識別子** | **トリガー** | | --------------------------------------------- | ----------------------------------------------------------------------- | | `capital.financing_offer.created` | 融資オファーが作成された | | `capital.financing_offer.accepted` | ユーザーがオファーの申し込みを提出した | | `capital.financing_offer.paid_out` | Stripe がオファーの申し込みを承認し、資金がユーザーに入金された | | `capital.financing_offer.fully_repaid` | ユーザーが融資残高を全額支払う | | `capital.financing_offer.canceled` | ユーザーが融資オファーをキャンセルした | | `capital.financing_offer.rejected` | ユーザーの申し込みが却下された | | `capital.financing_offer.expired` | 融資オファーの期限が切れ、申し込みの対象外になった | | `capital.financing_offer.replacement_created` | 融資オファーが新しいオファーに[更新された](https://docs.stripe.com/capital/replacements.md) | [ダッシュボード](https://dashboard.stripe.com/test/connect/capital)で、過去に提供したオファーを探します。 1. オーバーフローメニュー (⋯) をクリックします。 1. **オファーを期限切れにする**オプションをクリックすると、オファーの期限切れをシミュレーションできます。 1. `capital.financing_offer.expired` Webhook が届くことを確認します。 `capital.financing_offer.canceled` を除き、テスト環境ではすべての Webhook をシミュレートできます。 ## オファーに申し込む [ダッシュボード] [サーバー側] オファーへの申し込みを行うと、`capital.financing_offer.accepted` Webhook をシミュレーションすることができます。 1. [ダッシュボード](https://dashboard.stripe.com/test/connect/capital)から、最大融資額が 20,000 USD の配信済みオファーを作成します。 1. タイプ `capital_financing_offer` のアカウントリンクを生成して、そのリンクに移動します。ここでアプリケーションがどのようにユーザーに表示されるかをプレビューできます。 1. 申し込みの最後に到達するまで続け、**送信**をクリックします。 1. `capital.financing_offer.accepted` Webhook が届くことを確認します。 1. ダッシュボードでオファーを表示し、ステータスが受け付け済みであることを確認します。 ### 申し込みのトラッカーを表示する ステータスが受け付け済みの融資オファーは、Stripe の[サービス](https://docs.stripe.com/capital/servicing.md)チームによる審査を待っています。 この審査の実行中にユーザーを融資レポートページに転送することができます。融資レポートページには、申し込みの審査に関するタイムラインの概要が表示された申し込みのトラッカーがあります。 タイプ `capital_financing_reporting` の [Account Link](https://docs.stripe.com/api/account_links.md) を生成します。 #### curl ```bash curl https://api.stripe.com/v1/account_links \ -u <>: \-d account=acct_123 \ # When the user refreshes the page, where should we redirect them -d refresh_url="https://example.com/reauth" \ # When the user completes the application, where should they return -d return_url="https://example.com/thanks" \ -d type=capital_financing_reporting ``` リンクに移動し、申し込みのトラッカーを表示します。 ## 申し込みを承認する [ダッシュボード] [ダッシュボード](https://dashboard.stripe.com/test/connect/capital)で、受け付けたオファーに対応する行を探します。 1. オーバーフローメニュー (⋯) をクリックします。 1. **承認して資金を支払う**オプションをクリックします。これにより申し込みの承認と資金の入金をシミュレーションできます。 1. 資金が支払われたことを通知する `capital.financing_offer.paid_out` Webhook が届くことを確認します。 1. タイプが `capital_financing_reporting` の [アカウントリンク](https://docs.stripe.com/api/account_links.md) を別途生成します。このレポートページでは、ユーザーの進行中の融資の未払い残高、入金、および支払い取引の詳細にアクセスできます。 1. **支払いを行う** をクリックし、手動支払いを作成します。 > テスト用融資オファーのレポートページで**支払いを作成**ボタンが有効になるまで、最大で 15 分かかります。 取引の処理後、取引の表で支払いを確認します。[Financing Summary API](https://docs.stripe.com/api/capital/financing_summary.md) を使用すると、進行中の融資でユーザーが返済した融資額をプログラムによって確認することができます。 #### curl ```bash curl https://api.stripe.com/v1/capital/financing_summary \ -u <>: \ -H "Stripe-Account: {{CONNECTED_ACCOUNT_ID}}" \ ``` 融資のサマリーの取得が正常に行われると、次のようなレスポンスが返されます。 ```json { "object": "capital.financing_summary", "details": { "currency": "usd", "advance_amount": 1000000, "fee_amount": 100000, "withhold_rate": 0.2, "remaining_amount": 999950, "paid_amount": 50, "current_repayment_interval": { "due_at": 123456789, "remaining_amount": 50, "paid_amount": 50 }, "repayments_begin_at": 123456789, "advance_paid_out_at": 123456789 } } ``` ## 融資を全額支払う [ダッシュボード] [ダッシュボード](https://dashboard.stripe.com/test/connect/capital)で、資金を供給した融資に対応する行を探します。 1. オーバーフローメニュー (⋯) をクリックします。 1. **オファーを返済する**オプションをクリックします。これにより、融資残高の完済をシミュレーションできます。 1. 融資が全額支払われたことを通知する `capital.financing_offer.fully_repaid` Webhook が届いていることを確認します。 1. タイプ `capital_financing_reporting` の [Account Link](https://docs.stripe.com/api/account_links.md) を新たに生成します。 ユーザーは、融資を全額支払った後、いつでもレポートページで過去の融資の詳細にアクセスできます。 ## テスト用システムを確認する ここまでで、お客様の実装は以下のようになっています。 - `capital.financing_offer.created` Webhook を受けて、オファーメールを送信し、オファーを提供済みとしてマークする - プラットフォームのダッシュボードに融資申し込みのリンクを公開する - プラットフォームのダッシュボードに融資レポートのリンクを公開する プラットフォームのダッシュボードの Capital セクションは、ユーザーの融資の現在のフェーズに応じて表示が異なる場合があります。以下の状態図で、融資オファーに設定される可能性があるステータス値のリストをご確認ください。 Capital の融資オファーのステートマシン (See full diagram at https://docs.stripe.com/capital/api-integration) ## 自動オファーの有効化に向けて準備する 本番環境で自動オファーを有効にすると、Stripe は毎日、ユーザー向けの融資オファーを自動的に作成します。自動オファーを有効にする前に、以下について確認してください。 1. Stripe ブランド提携のノーコードオファーメールを活用する予定がある場合は、[コミュニケーションセンター](https://dashboard.stripe.com/connect/comms_center/collect)でユーザーのメールアドレスを確認・更新します。Capital ファイナンスの対象となるには、ユーザーが Stripe にメールを保存して、支払いの進捗状況の更新といった取引に関するメールを受信できるようにする必要があります。 1. Financing offers API の本番環境での利用の申請をご希望の場合は、[こちらにお問い合わせください](mailto:capital-review@stripe.com)。 ### 追加機能の有効化 時間の経過とともに、一部のユーザーがリフィルの対象になる場合があります。リフィルは、進行中のローンの返済が大幅に進んだユーザーに送信される追加の融資オファーです。[リフィル導入ガイド](https://docs.stripe.com/capital/refills.md)に従って、リフィル融資のオファーをサポートするように連携を更新します。 プラットフォームダッシュボードに資本取引を含め、ユーザーへの入金レポートを更新する場合は、[レポートと照合ガイド](https://docs.stripe.com/capital/reporting-and-reconciliation.md)を参照してください。 ## See also - [追加融資オファー](https://docs.stripe.com/capital/refills.md) - [オファーを置き換える](https://docs.stripe.com/capital/replacements.md)