金融口座の機能
金融口座に機能を追加して、アカウント間の資金移動や決済カードの関連付けなどを行う機能を提供できます。一般的に、FinancialAccount
オブジェクトを作成する際に、対象の Feature
オブジェクトを割り当てますが、これはいつでも追加や削除することができます。一部の Features
では、その金融口座に関連付けられた連結アカウントで特定のケイパビリティが有効になっていることが必要となります。たとえば、連結アカウントに関連付けられた金融口座で card_issuing
機能をリクエストするには、その連結アカウントで card_issuing
ケイパビリティが有効になっている必要があります。
使用できる機能
以下の表は、FinancialAccount
で使用できる Features
と、それを追加するために関連する連結アカウントで有効になっている必要のあるケイパビリティを示したものです。
注
連結アカウントの treasury
ケイパビリティをリクストするには、事前に以下のケイパビリティをリクエストするか、有効にしておく必要があります。
transfers
card_payments
機能 | 説明 | 必要なケイパビリティ |
---|---|---|
card_issuing | この金融口座に関連付けられた Card オブジェクトの作成を可能にします。 | card_issuing |
deposit_insurance | その金融口座の FDIC 保険の利用資格をリクエストします。 | treasury |
financial_addresses.aba | この金融口座に関連付けられた、タイプが ABA の FinancialAddress の作成をトリガーします。この機能が有効な場合、アドレスでは ACH 経由または電信送金での資金の受け取りと、外部銀行口座による引き落としが可能になります。 | treasury |
inbound_transfers.ach | アメリカの外部銀行口座から資金を引き落として、金融口座に資金を追加できるようにする、InboundTransfer オブジェクトの作成を可能にします。 | treasury 、us_bank_account_ach_payments |
intra_stripe_flows | この金融口座が、stripe ネットワークを介して他の金融口座との間で資金を送受信できるようにします。stripe ネットワーク送金が機能するためには、両方の金融口座 (送金側と受取側) で、この機能が有効になっている必要があります。 | treasury |
outbound_payments.ach | この金融口座が、Stripe API の OutboundPayment オブジェクトを使用して ACH 送金できるようにします。 | treasury 、us_bank_account_ach_payments |
outbound_payments.us_domestic_wire | この金融口座が、Stripe API の OutboundPayment オブジェクトを使用して、アメリカ国内で電信送金できるようにします。 | treasury |
outbound_transfers.ach | この金融口座が、Stripe API の OutboundTransfer オブジェクトを使用して ACH 送金を送信できるようにします。 | treasury 、us_bank_account_ach_payments |
outbound_transfers.us_domestic_wire | この金融口座が、Stripe API の OutboundTransfer オブジェクトを使用して、アメリカ国内で電信送金できるようにします。 | treasury |
Same Day ACH beta 現在、同日の ACH はベータ版であり、登録するには Stripe による審査と承認が必要です。この機能の待機リストに登録するには、treasury-support@stripe.com までお問い合わせください。ベータ版を利用できない状態の場合、同日の ACH 関連の機能またはパラメーターが含まれた API コールを行うと、エラーが発生します。
次の機能を利用することで、金融口座で同日の ACH 機能を使用できます。同日の ACH 機能を使用するには、金融口座で対応する *.ach
機能をリクエストする必要があります。たとえば、金融口座で同日の OutboundPayment を送信できるようにするには、金融口座で outbound_payments.ach
および outbound_payments.ach.same_day
をリクエストする必要があります。
機能 | 説明 | 必要なケイパビリティ |
outbound_payments.ach.same_day | この金融口座で、OutboundPayment オブジェクトを使用して、同一営業日内に入金先口座に届く ACH 送金を行えるようにします。 | treasury 、us_bank_account_ach_payments |
outbound_transfers.ach.same_day | この金融口座で、OutboundTransfer オブジェクトを使用して、同一営業日内に入金先口座に届く ACH 送金を行えるようにします。 | treasury 、us_bank_account_ach_payments |
inbound_payments.ach.same_day | InboundTransfer オブジェクトを作成して、同一営業日内に金融口座に資金を追加できるようにします。 | treasury 、us_bank_account_ach_payments |
機能をリクエストする
通常は、金融口座を作成するときに Treasury 金融口座の機能をリクエストします。次のリクエストでは、同じ呼び出しで金融口座を作成して、機能をリクエストしています。
既存の金融口座を使用している場合は、POST /v1/treasury/financial_accounts/{{FINANCIAL_ACCOUNT_ID}}/features
を使用して追加機能をリクエストします。
機能の有効化
ある機能をリクエストし、プラットフォームに連結アカウントをアカウント登録するためのすべての確認要件が満たされると、その機能が有効化されます。機能 (card_issuing
など) によっては、有効化が即時実行されますが、financial_addresses.aba
のように非同期で有効化される機能もあります。以前にも紹介したように、以下の API コールは、金融口座を作成し、対象の機能をリクエストします。
金融口座作成時に機能をリクエストした際のレスポンスでは、active_features
、pending_features
、restricted_features
パラメーターでステータスが示されます。機能のステータスの詳細については、機能を取得するのセクションをご覧ください。
{ "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_accounts/{{FINANCIAL_ACCOUNT_ID}}/features
を使用して、前の例で作成された金融口座の機能を取得できます。
レスポンスには、pending
の status
を持つ financial_addresses.aba
と、activating
の code
を持つ status_details
が示されます。
{ "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_addresses.aba
機能が有効化されると、金融口座は FinancialAddress
オブジェクトを受け取り、treasury.financial_account.features_status_updated
Webhook がトリガーされます。
以下のリクエストは、financial_addresses.aba
の詳細が展開された 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_accounts/{{FINANCIALACCOUNT_ID}}/features
を使用して機能を削除できますが、削除する Feature
の値を false
に設定します。
成功すると、オブジェクトから削除した機能を含む Features
オブジェクトがレスポンスとして返されます。
機能を取得する
GET /v1/treasury/financial_accounts/{{FINANCIAL_ACCOUNT_ID}}/features
を使用して、関連付けられた ID の金融口座の機能を取得できます。
JSON レスポンスでは、次の 3 つのプロパティで定義された機能詳細が提供されます。
requested
: 機能がリクエストされたかどうかを示します。status
: 機能の現在の状態をactive
、pending
、またはrestricted
で表します。status_details
: code (コード) と resolution (レゾリューション) を格納するハッシュの配列。
{ "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_details
の可能な組み合わせを示したものです。
ステータス | ステータスの詳細コード | ステータスの詳細の解決 | 説明 |
---|---|---|---|
pending | activating | Stripe は現在、この機能を有効化しています。 | |
pending | requirements_pending_verification | 連結アカウントの関連するケイパビリティに対する要件は提出されていますが、確認が完了していません。 | |
restricted | requirements_past_due | provide_information | 連結アカウントが要件を満たすまで、この機能を有効化できません。 |
restricted | rejected_unsupported_business | contact_stripe | このタイプのビジネスは現在サポートされていないため、アカウントが拒否されました。詳細については、サポート (treasury-support@stripe.com) までお問い合わせください。 |
restricted | rejected_other | contact_stripe | その他の理由により、アカウントが拒否されました。詳細については、サポート (treasury-support@stripe.com) までお問い合わせください。 |
restricted | restricted_by_platform | remove_restriction | プラットフォームは platform_restrictions ハッシュを使用してこの機能を制限しています。 |
restricted | financial_account_closed | 金融口座が閉鎖されているため、この機能はご利用になれません。 | |
restricted | restricted_other | contact_stripe | その他の理由により、この機能は制限されています。詳細については、サポート (treasury-support@stripe.com) までお問い合わせください。 |
制限された機能
プラットフォームの金融口座での資金移動を制限できます。 platform_restrictions
ハッシュを使用すると、インバウンドフロー (inbound_flows
)、アウトバウンドフロー (outbound_flows
)、または両タイプの資金移動を禁止すること可能です。資金移動フローを制限すると、金融口座に関連付けられ、フローに完全に、または部分的に依存する可能性がある特定の機能に影響します。たとえば、金融口座からの資金の移動を防止するには、POST /v1/treasury/financial_accounts/{{FINANCIALACCOUNT_ID}}
を呼び出します。
成功するとレスポンスで、該当のフローが 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_flows
を制限すると、financial_addresses.aba
機能、intra_stripe_flows
機能、inbound_transfers.ach
機能が restricted_features
配列に追加されます。
restricted_features
配列にある機能は、一部のみが制限される場合があります。たとえば、outbound_flows
を制限すると、財務アドレスからの引き落としができなくなるため、前述のレスポンスでは、financial_addresses.aba
が restricted_features
配列の一部となっています。ただし、inbound_flows
は制限されていないため、その財務アドレスは引き続き ACH や電信送金を受け取ることができます。
同様に、outbound_flows
制限により、この金融口座を別の金融口座へのアウトバウンド支払いの送金元として使用できないため、intra_stripe_flows
機能が制限されます。ただし、この金融口座を引き続きアウトバウンド支払いの送金先にすることはできるため、この機能は完全には制限されません。
以下のリクエストは、フローが制限された金融口座の機能詳細を取得します。
レスポンスでは、restricted_by_platform
のコードがある status_details
が含まれた Feature
オブジェクトが提供されます。restriction
プロパティによって、適用された platform_restriction
への参照が示されます。
{ "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_restrictions
による機能への影響を説明したものです。
注
financial_addresses.aba
のインバウンドフローを制限する機能は、インバウンド電信送金をブロックしません。
機能 | inbound_flows 制限の影響 | outbound_flows 制限の影響 |
---|---|---|
card_issuing | 該当なし | 該当なし |
deposit_insurance | 該当なし | 該当なし |
financial_addresses.aba | ABA 財務アドレスが ACH で入金を受け取れなくなります。 | ABA 財務アドレスから引き落としできなくなります。 |
inbound_transfers.ach | 機能を無効にします。 | 該当なし |
intra_stripe_flows | その金融口座が別の金融口座からアウトバウンド支払いを受け取れなくなります。 | この金融口座から別の金融口座に、アウトバウンド支払いを作成することはできません。 |
outbound_payments.ach | 該当なし | 機能を無効にします。 |
outbound_payments.us_domestic_wire | 該当なし | 機能を無効にします。 |
outbound_transfers.ach | 該当なし | 機能を無効にします。 |
outbound_transfers.us_domestic_wire | 該当なし | 機能を無効にします。 |
Webhook
1 つ以上の機能が特定のステータスに移行したときに Webhook でアクションを実行するには、ローカルの状態を機能の最新状態と比較します。treasury.financial_account.features_status_updated
Webhook の previous_attributes
プロパティにも、あるステータスから別のステータスに変わった機能が示されますが、イベントの受信順序が前後したり、重複が発生する場合があります。詳細については、Webhook のベストプラクティスをご覧ください。
account.updated
- 新しい機能をリクエストすると、
requirements
ハッシュが変更され一部の新しいフィールドがpending_verification
になったことを通知する、account.updated
Webhook がプラットフォームで受信されることがあります。
- 新しい機能をリクエストすると、
treasury.financial_account.features_status_updated
- 1 つ以上の機能のステータスが変わったことを示します。これを反映して、
active_features
、pending_features
、またはrestricted_features
の配列に変更が加えられます。
- 1 つ以上の機能のステータスが変わったことを示します。これを反映して、