# 更新

融資オファーの更新を処理する方法をご紹介します。

特定の状況において、有効な融資オファーの条件が変更される場合があります (たとえば、ユーザーがサードパーティデータを提供した場合など)。このシナリオでは、以前のオファーに代わる新しいオファーが作成されます。代替の融資オファーは、以下の状況で作成されます。

- **申請前のアップグレード**: 連結アカウントがサードパーティのデータをリンクし、申請を提出する前に改善されたオファー条件を受け取ります。
- **申請後のカウンターオファー**: Stripe により元のオファー申請が却下され、異なる条件で新しいオファーが提示されます。

`replacement_type` フィールドは、Stripe により作成された更新のタイプを示します。

以下の例は、連結アカウントが更新オファーを受け取る方法を示しています。

| 更新タイプ | シナリオ |
| --- | --- |
| pre_submission_upgrade | 1. Stripe は、最大融資額が 5,000 USD の、未送信の融資オファーを連結アカウント用に作成します。
2. プラットフォームから連結アカウントにオファーメールが送信され、オファーが `delivered` としてマークされます。
3. 連結アカウントが Capital 資金調達の申請画面に移動し、銀行口座を連携します。
4. Stripe は、連結アカウントが新しい最大融資額 1 万 USD の対象であると判断します。
5. Stripe は、連結アカウントの元の 5,000 USD オファーを新しい 10,000 USD オファーに置き換えます。 |
| post_submission_counteroffer | 1. Stripe は、最大融資額が 5,000 USD の、未送信の融資オファーを連結アカウント用に作成します。
2. プラットフォームから連結アカウントにオファーメールが送信され、オファーが `delivered` としてマークされます。
3. 連結アカウントが Capital の融資申請に移動し、申請を提出します。
4. Stripe による審査の結果、連結アカウントが改定後の融資額 4,000 USD の対象であると判断します。
5. Stripe により 4,000 USD の更新オファーが作成され、元のオファーは却下された上で、改定されたオファーメールが連結アカウントに送信されます。
6. 連結アカウントが Capital の融資申請に移動し、申請を提出します。
7. 申請が承認され、4,000 USD が入金されます。 |

## Before you begin

- このガイドは、[API 導入](https://docs.stripe.com/capital/api-integration.md)を完了していることを前提としています。
- 融資オファーの置き換えは、デフォルトでは有効になっていません。置き換えをサポートするように連携機能を更新したら、[変更リクエストフォーム](https://form.asana.com/?k=8K51UWmWhttehNFD5qBLdg&d=974470123217835)を使用して、連携機能と API の使用に関する詳細を Stripe に提出し、法令遵守レビューを受ける必要があります。

## テストオファーの作成

1. [サンドボックスを作成する](https://docs.stripe.com/sandboxes/dashboard/manage.md#create-a-sandbox)を参照してください。

2. ダッシュボードの [Capital](https://dashboard.stripe.com/test/connect/capital) ページに移動します。

3. テストオファーを生成するには、**作成**をクリックしてオファー作成用のパラメーターを選択します。

   - 連結アカウントの場合は、アカウントの ID を検索して既存の連結アカウントを選択するか、空のままにすると Stripe がアカウントを生成します。
   - オファーのタイプとテストアカウントを選択できます。また、オファー条件 (金額、手数料、返済率) も選択できます。
   - 新しく作成した連結アカウント (`https://dashboard.stripe.com/test/connect/accounts/:merchant_id`) の詳細を表示します。

4. `pre_submission_upgrade` をテストする場合は、オファーのステータスを `delivered` に設定します。`post_submission_counteroffer` をテストする場合は、オファーのステータスを `accepted` に設定します。

5. **融資オファーを作成**をクリックして、テスト用の連結アカウント向けのオファーを作成します。

ダッシュボードの[融資オファー](https://dashboard.stripe.com/test/connect/capital/financing_offers)ページで連結アカウントの各融資オファーを表示できます。

## オファーを更新する

1. 作成されたオファーの横にあるオーバーフローメニュー (⋯) をクリックし、**オファーを更新**を選択します。

   > **オファーを更新**は、オファーが一度も更新されておらず、`status` が `undelivered`、`delivered`、`accepted` の場合にのみ表示されます。

2. モーダル下部にある **更新する** をクリックして、オファーを更新します。

   [融資オファー](https://docs.stripe.com/api/capital/connect_financing_object.md)の更新が作成された後に、Stripe は `capital.financing_offer.replacement_created` Webhook を送信します。Webhook の本文には更新後の融資オファーの詳細が含まれます。

   ```json
   {
       "type": "capital.financing_offer.replacement_created",
       "data": {
           "object": {
               "id": "financingoffer_xyz456",
               "object": "capital.financing_offer",
               "account": "acct_efg678",
               "status": "delivered",
               "financing_type": "flex_loan",
               "offered_terms": {
                   "currency": "usd",
                   "advance_amount": 100000,
                   "fee_amount": 10000,
                   "withhold_rate": 0.15
               },
               "replacement_for": "financingoffer_abc123",
               "replacement_type": "pre_submission_upgrade",
               ...
           }
       }
   }
   ```

   更新が申請前のアップグレードか申請後のカウンターオファーかを判断するには、`replacement_type` を使用します。更新オファーのステータスは `delivered` です。連結アカウントが更新オファーを受け取ると、それが現在の有効なオファーになります。

3. *Webhook* (A webhook is a real-time push notification sent to your application as a JSON payload through HTTPS requests) の導入を更新して、`capital.financing_offer.replacement_created` Webhook が処理されるようにします。内部のデータモデルに連結アカウントのアクティブな融資の ID が保存されている場合は、その ID を連結アカウントの置き換えオファーに更新してください。

## 更新後のオファーを取得する

オファーを更新すると、更新後のオファーの詳細が表示されたページにリダイレクトされます。イベントテーブルには、イベント **Account acct\_egg678 has a replacement financing offer for financingoffer\_abc123 (アカウント acct\_egg678 には financingoffer\_abc123 の更新融資オファーがあります)** が記載され、ユーザーの元のオファー ID への参照が提供されます。

融資オファー `financingoffer_abc123` を[取得](https://docs.stripe.com/api/capital/financing_offers/retrieve.md#retrieve_financing_offer)します。ステータスは最終状態であり、`replacement` 属性の値は `financingoffer_xyz456` になります。これは、`financingoffer_xyz456` が `financingoffer_abc123` に更新されたことを示します。

元のオファーの最終ステータスは、更新タイプによって異なります。

- 申請前の更新の場合、Stripe はアカウントが申請を提出する前にオファーを更新するため、元のオファーのステータスは `replaced` になります。
- 申請後のカウンターオファーの場合、アカウントはすでに申請を提出しており、Stripe は新しい条件を提示することで応答します。その場合、元のオファーは通常の審査結果である `rejected` になります。

## See also

- [API 導入のセットアップ](https://docs.stripe.com/capital/api-integration.md)
