金融口座の機能
金融口座で使用できる機能についてご紹介します。
Accounts v2 API 互換性
The Accounts v2 API doesn’t support Financial Accounts and Issuing workflows. If you have accounts created with Accounts v2, you can use Accounts v1 to manage the treasury and card_ capabilities. For details, see Use Accounts as customers.
金融口座 に機能を追加して、アカウント間の資金移動や決済カードの関連付けなどを行う機能を提供できます。一般的に、FinancialAccount オブジェクトを作成する際に、対象の Feature オブジェクトを割り当てますが、これはいつでも追加や削除ができます。一部の Features では、その金融口座に関連付けられた連結アカウントで特定のケイパビリティが有効になっていることが必要となります。たとえば、連結アカウントに関連付けられた金融口座で card_ 機能をリクエストするには、その連結アカウントで card_ ケイパビリティが有効になっている必要があります。
使用できる機能
以下の表は、FinancialAccount で使用できる Features と、それを追加するために関連する連結アカウントで有効になっている必要のあるケイパビリティを示したものです。
メモ
連結アカウントの treasury ケイパビリティをリクストするには、事前に以下のケイパビリティをリクエストするか、有効にしておく必要があります。
transfers
| 機能 | 説明 | 必要なケイパビリティ |
|---|---|---|
card_ | この金融口座に関連付けられた Card (カード) オブジェクトの作成を可能にします。 | card_ |
deposit_ | その金融口座の FDIC 保険の利用資格をリクエストします。 | treasury |
financial_ | この金融口座に関連付けられた、タイプが ABA の FinancialAddress の作成をトリガーします。この機能が有効な場合、アドレスでは ACH 経由または電信送金での資金の受け取りと、外部銀行口座による引き落としが可能になります。 | treasury |
inbound_ | アメリカの外部銀行口座から資金を引き落として、金融口座に資金を追加できるようにする、InboundTransfer オブジェクトの作成を可能にします。 | treasury、us_ |
intra_ | この金融口座が、stripe ネットワークを介して他の金融口座との間で資金を送受信できるようにします。stripe ネットワーク送金が機能するためには、両方の金融口座 (送金側と受取側) で、この機能が有効になっている必要があります。 | treasury |
outbound_ | この金融口座が、Stripe API の OutboundPayment オブジェクトを使用して ACH 送金できるようにします。 | treasury、us_ |
outbound_ | この金融口座が、Stripe API の OutboundPayment オブジェクトを使用して、アメリカ国内で電信送金できるようにします。 | treasury |
outbound_ | この金融口座が、Stripe API の OutboundTransfer オブジェクトを使用して ACH 送金を送信できるようにします。 | treasury、us_ |
outbound_ | この金融口座が、Stripe API の OutboundTransfer オブジェクトを使用して、アメリカ国内で電信送金できるようにします。 | treasury |
同日の ACH
プライベートプレビュー
同日の ACH は現在、制限付きのプレビュー版として提供されているため、Stripe の審査と承認が必要です。アクセスをリクエストするには、treasury-support@stripe.comにメールを送信してください。
アクセスできない場合、同日の ACH の機能またはパラメーターを含む API コールがエラーを返します。
以下の機能により、金融口座は当日 ACH 機能を利用することができます。この機能を使用するには、金融口座で対応する *. 機能をリクエストする必要があります。例えば、ある金融口座が当日中に OutboundPayment を送信できるようにするには、その金融口座で outbound_ と outbound_ をリクエストする必要があります。
| 機能 | 説明 | 必要なケイパビリティ |
outbound_ | この金融口座で、OutboundPayment オブジェクトを使用して、同一営業日内に入金先口座に届く ACH 送金を行えるようにします。 | treasury、us_ |
outbound_ | この金融口座で、OutboundTransfer オブジェクトを使用して、同一営業日内に入金先口座に届く ACH 送金を行えるようにします。 | treasury、us_ |
inbound_ | InboundTransfer オブジェクトを作成して、同一営業日内に金融口座に資金を追加できるようにします。 | treasury、us_ |
機能をリクエストする
通常、金融口座の機能をリクエストするのは、金融口座 を作成するときです。次のリクエストは、金融口座を作成し、同じ呼び出しで機能をリクエストします。
既存の金融口座を使用している場合は、POST /v1/treasury/financial_ を使用して追加機能をリクエストします。
機能の有効化
ある機能をリクエストし、プラットフォームに連結アカウントをアカウント登録するためのすべての確認要件が満たされると、その機能が有効化されます。機能によっては、有効化が即時実行されますが (card_ など)、financial_ のように非同期で有効化される機能もあります。以下の API コールは、金融口座を作成し、 ‘financial_addresses.aba’ および ‘card_issuing’ 機能をリクエストします。
金融口座作成時に機能をリクエストすると、レスポンスでは、active_、pending_、restricted_ プロパティでそのステータスが示されます。詳細については、機能を取得する のセクションをご覧ください。
{ "object": "treasury.financial_account", "created": 1612927106, "id": "fa_123", "country": "US", "supported_currencies": ["usd"], "active_features": ["card_issuing"], "pending_features": ["financial_addresses.aba"], "restricted_features": [], // No FinancialAddress added as the financial_addresses.aba feature is not yet active "financial_addresses": [], "livemode": true, "status": "open", ... }
GET /v1/treasury/financial_ を使用して、前の例で作成された金融口座の機能を取得できます。
レスポンスには、pending の status を持つ financial_ と、activating の code を持つ status_ が示されます。
{ "object": "treasury.financial_account_features", "financial_addresses": { "aba": { "requested": true, "status": "pending", "status_details": [ { "code": "activating" } ] } }, "card_issuing": { "requested": true, "status": "active", "status_details": [] }, ... }
Stripe が外部システムと通信する間、機能は最大 30 分間この状態にとどまることがあります。financial_ 機能が有効化されると、金融口座は FinancialAddress オブジェクトを受け取り、treasury. Webhook がトリガーされます。
以下のリクエストは、financial_ の詳細が展開された FinancialAccount の詳細を取得します。
レスポンスでは、完全な財務アドレス情報を含むアカウントの詳細が提供されます。
{ "object": "treasury.financial_account", "id": "{{FINANCIAL_ACCOUNT_ID}}", "country": "US", "supported_currencies": ["usd"], "active_features": ["card_issuing", "financial_addresses.aba"], "pending_features": [], "restricted_features": [], "financial_addresses": [ { "type": "aba", "supported_networks": ["ach", "domestic_wire_us"], "aba": { "account_number_last4": "7890", "account_number": "1234567890", "routing_number": "000000001", "bank_name": "Goldman Sachs" } } ], "livemode": true, ... }
これでこの金融口座は、この ABA 財務アドレスへのクレジットやデビットを受信することができます。
機能を削除する
機能を削除するには、POST /v1/treasury/financial_ を使用して、機能の値を false に設定します。
成功すると、オブジェクトから削除した機能を含む Features オブジェクトがレスポンスとして返されます。
機能を取得する
金融口座の機能を取得するには、GET /v1/treasury/financial_ を使用します。
JSON レスポンスでは、次の 3 つのプロパティで定義された機能詳細が提供されます。
requested: 機能がリクエストされたかどうかを示します。status: 機能の現在の状態 (active、pending、またはrestricted) を示します。status_: code と resolution を格納するハッシュの配列。details
{ "card_issuing": { "requested": true, "status": "active", "status_details": [] }, "deposit_insurance": { "requested": true, "status": "restricted", "status_details": [ { "code": "requirements_past_due", "resolution": "provide_information" } ] } }
以下の表は、status と status_ の可能な組み合わせを示したものです。
| ステータス | ステータスの詳細コード | ステータスの詳細の解決 | 説明 |
|---|---|---|---|
pending | activating | Stripe は現在、この機能を有効化しています。 | |
pending | requirements_ | 連結アカウントの関連するケイパビリティに対する要件は提出されていますが、確認が完了していません。 | |
restricted | requirements_ | provide_ | 連結アカウントが要件を満たすまで、この機能を有効化できません。 |
restricted | rejected_ | contact_ | このタイプのビジネスは現在サポートされていないため、アカウントが拒否されました。詳細については、treasury-support@stripe.comにメールを送信してください。 |
restricted | rejected_ | contact_ | その他の理由により、アカウントが拒否されました。詳細については、treasury-support@stripe.comにメールを送信してください。 |
restricted | restricted_ | remove_ | プラットフォームは platform_restrictions ハッシュを使用してこの機能を制限しています。 |
restricted | financial_ | 金融口座が閉鎖されているため、この機能はご利用になれません。 | |
restricted | restricted_ | contact_ | その他の理由により、この機能は制限されています。詳細については、treasury-support@stripe.comにメールを送信してください。 |
制限された機能
プラットフォームの金融口座での資金移動を制限して、インバウンドフロー (inbound_)、アウトバウンドフロー (outbound_)、または両タイプの資金移動を禁止することが可能です。これを行うには、platform_restrictions ハッシュを使用します。資金移動フローを制限すると、そのフローに完全に、または部分的に依存する可能性がある金融口座の機能に影響します。たとえば、金融口座からの資金の移動を防止するには、POST /v1/treasury/financial_ を呼び出します。
成功するとレスポンスで、該当のフローが restricted に設定された金融口座オブジェクトが返されます。
{ "object": "treasury.financial_account", "id": "{{FINANCIAL_ACCOUNT_ID}}", "status": "open", ... "platform_restrictions": { "inbound_flows": "unrestricted", "outbound_flows": "restricted" }, "active_features": ["card_issuing", "deposit_insurance", "inbound_transfers.ach"], "pending_features": [], "restricted_features": ["financial_addresses.aba", "intra_stripe_flows", "outbound_payments.ach", "outbound_payments.us_domestic_wire", "outbound_transfers.ach", "outbound_transfers.us_domestic_wire"] }
前のレスポンスに示されていたように、FinancialAccount で outbound_ を制限すると、financial_ 機能、intra_ 機能、inbound_ 機能が restricted_ 配列に追加されます。
restricted_ 配列にある機能は、全部または一部が制限される場合があります。たとえば、outbound_ を制限すると、財務アドレスからの引き落としができなくなるため、前述のレスポンスでは、financial_ が restricted_ 配列の一部となっています。ただし、inbound_ は制限されていないため、その財務アドレスは引き続き ACH や電信送金を受け取ることができます。
同様に、outbound_ 制限により、この金融口座を別の金融口座へのアウトバウンド支払いの送金元として使用できないため、intra_ 機能が制限されます。ただし、この金融口座を引き続きアウトバウンド支払いの送金先にすることはできるため、この機能は完全には制限されません。
以下のリクエストは、フローが制限された金融口座の機能詳細を取得します。
レスポンスでは、restricted_ のコードがある status_ が含まれた Feature オブジェクトが提供されます。restriction プロパティによって、適用された platform_ への参照が示されます。
{ "object": "treasury.financial_account_features", "financial_addresses": { "aba": { "requested": true, "status": "restricted", "status_details": [ { "code": "restricted_by_platform", "resolution": "remove_restriction", "restriction": "inbound_flows" } ] } }, ... }
以下の表は、platform_ による機能への影響を説明したものです。
メモ
financial_ のインバウンドフローを制限する機能は、インバウンド電信送金をブロックしません。
プラットフォームの制限が機能に与える影響
次の表は、個々の機能に対する inbound_ と outbound_ のプラットフォーム制限の影響を示しています。
| 機能 | inbound_flows | outbound_flows |
|---|---|---|
card_ | 該当なし | 該当なし |
deposit_ | 該当なし | 該当なし |
financial_ | ABA 財務アドレスが ACH で入金を受け取れなくなります。 | ABA 財務アドレスから引き落としできなくなります。 |
inbound_ | 機能を無効にします。 | 該当なし |
intra_ | その金融口座が別の金融口座からアウトバウンド支払いを受け取れなくなります。 | この金融口座から別の金融口座に、アウトバウンド支払いを作成することはできません。 |
outbound_ | 該当なし | 機能を無効にします。 |
outbound_ | 該当なし | 機能を無効にします。 |
outbound_ | 該当なし | 機能を無効にします。 |
outbound_ | 該当なし | 機能を無効にします。 |
金融口座作成中に financial_ 機能が制限された場合、制限が解除されるまで金融住所は作成されません。詳細については、利用可能な機能 をご覧ください。
Stripe 制限機能
より高い不正利用リスクを検出すると、Stripe によって機能が制限されることがあります。これらの機能のいずれかを取得した場合の対応は、次のようになります:
{ "object": "treasury.financial_account_features", "financial_addresses": { "aba": { "requested": true, "status": "restricted", "status_details": [ { "code": "restricted_other", "resolution": "contact_stripe" } ] } }, ... }
このような場合に Stripe の介入を独自に上書きするには、Connect ダッシュボードに移動して、次の手順を実行します。
- 影響を受けた連結アカウントの詳細ページに移動します。
- 制限された金融口座に移動します。
- Find the feature you want to un-restrict, and click Turn on. This un-restricts the feature on all of the account’s financial accounts.
Webhook
1 つ以上の機能が特定のステータスに移行したときに Webhook でアクションを実行するには、ローカルの状態を機能の最新状態と比較します。treasury. Webhook の previous_ プロパティにも、あるステータスから別のステータスに変わった機能が示されますが、イベントの重複が発生したり、受信順序が前後したりする場合があります。詳細については、Webhook のベストプラクティスをご覧ください。
account.updated - 新しい機能をリクエストすると、
requirementsハッシュが変更され一部の新しいフィールドがpending_に追加されたことを通知する、verification account.Webhook がプラットフォームで受信されることがあります。updated
- 新しい機能をリクエストすると、
treasury.financial_ account. features_ status_ updated - 1 つ以上の機能のステータスが変わったことを示します。これを反映して、
active_、features pending_、features restricted_の各配列に変更が加えられます。features
- 1 つ以上の機能のステータスが変わったことを示します。これを反映して、