# Create a Global Payout recipient with the API Learn how to onboard recipients for Global Payouts using the Stripe API. Build an information collection flow for your recipients to collect recipient and payout method details, and then pass that information to Stripe through our APIs. ## Considerations Your business is responsible for all interactions with your recipients and for collecting all the necessary information to verify them. Stripe updates recipient verification requirements as laws and regulations change around the world. When building a payout integration, consider how to handle: - Regularly reviewing changes to legal and regulatory requirements. - Updating your application logic in response to these changes. Plan to review and update onboarding requirements on a regular basis to avoid payout failures. ## Create a recipient When using a form to collect payout recipient information, use the [Accounts API v2](https://docs.stripe.com/api/v2/core/accounts/create.md?api-version=preview) to create a recipient. You must provide the following parameters to create the `Account` ID: | Required information | Parameter | | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | | Recipient’s country | `identity.country` | | Recipient’s type of business | `identity.entity_type` | | Recipient’s email | `contact_email` | | The display name for the `Account`. It appears in the Stripe Dashboard and on any invoices that you send to the `Account`. | `display_name` | | Payout methods you want to enable | `configuration.recipient.capabilities` | > Cross-border payouts for US senders is available in public preview. You must specify your intended payout method types by [requesting the corresponding capabilities](https://docs.stripe.com/connect/account-capabilities.md?accounts-namespace=v2) when you [create the Account](https://docs.stripe.com/api/v2/core/accounts/create.md?api-version=preview#v2_create_accounts-configuration-recipient-capabilities). | Payout method | API parameter | Description | | ------------- | ---------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | | Local bank | `configuration.recipient.capabilities.bank_accounts.local` | Allows the `Account` to receive `OutboundPayments` over local bank networks, such as ACH or FPS. | | Bank wire | `configuration.recipient.capabilities.bank_accounts.wire` | Allows the `Account` to receive `OutboundPayments` over wire networks, such as Fedwire or SWIFT. | | Cards | `configuration.recipient.capabilities.cards` | Allows the `Account` to receive `OutboundPayments` over debit card networks, such as Visa Direct or Mastercard Send. | A recipient can have multiple payout method types enabled. Not all payout method types are available for recipients in all countries. See the full list of [available payout methods by country](https://docs.stripe.com/global-payouts/recipient-creation-options.md#requirements-for-supported-recipient-countries). Some capabilities require additional information about your recipient. For example, `configuration.recipient.capabilities.bank_accounts.local` for a US recipient requires you to submit an account and routing number. After you request payout method capabilities, Stripe determines the additional information requirements that you need to submit to enable them and can identify it in the API response. To receive the requirements in the response, include `requirements`, `configuration.recipient`, and `identity` in the `include` array. Otherwise, Stripe returns a null response for those properties, regardless of their actual values. ```curl curl -X POST https://api.stripe.com/v2/core/accounts \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-03-25.preview" \ --json '{ "contact_email": "jenny.rosen@example.com", "display_name": "Jenny Rosen", "identity": { "country": "us", "entity_type": "individual" }, "configuration": { "recipient": { "capabilities": { "bank_accounts": { "local": { "requested": true } } } } }, "include": [ "identity", "configuration.recipient", "requirements" ] }' ``` ## Determine required fields to activate a recipient To identify the specific requirements that you must submit, inspect the [requirements.entries](https://docs.stripe.com/api/v2/core/accounts/create.md?api-version=preview#v2_create_accounts-response-requirements-entries) array in the Accounts API response. For the recipient to accept payouts, you must provide all requirements that have the `restricts_capabilities` property. ```json { "id": "{{CONNECTED_ACCOUNT_ID}}", "object": "v2.core.account", "applied_configurations": [ "recipient" ], "configuration": { "customer": null, "merchant": null, "recipient": { "capabilities": { "bank_accounts": { "local": { "requested": true, "status": "restricted", "status_details": [ { "code": "requirements_past_due", "resolution": "provide_info" } ] }, "wire": null, "instant": null }, "cards": null, "stripe_balance": null }, "default_outbound_destination": null } }, "contact_email": "jenny.rosen@stripe.com", "created": "2025-04-02T17:20:00.000Z", "dashboard": null, "identity": { "attestations": { "directorship_declaration": null, "ownership_declaration": null, "persons_provided": { "directors": null, "executives": null, "owners": null, "ownership_exemption_reason": null }, "terms_of_service": { "account": null } }, "business_details": null, "country": "US", "entity_type": "individual", "individual": null }, "defaults": null, "display_name": "Jenny Rosen", "metadata": {}, "requirements": { "collector": "stripe", "entries": [ { "awaiting_action_from": "user", "description": "identity.individual.given_name", "errors": [], "impact": {"restricts_capabilities": [ { "capability": "bank_accounts.local", "configuration": "recipient", "deadline": { "status": "past_due" } } ], "restricts_payouts": null }, "minimum_deadline": { "status": "past_due" }, "reference": null, "requested_reasons": [ { "code": "routine_onboarding" } ] }, { "awaiting_action_from": "user", "description": "identity.individual.surname", "errors": [], "impact": { "restricts_capabilities": [ { "capability": "bank_accounts.local", "configuration": "recipient", "deadline": { "status": "past_due" } } ], "restricts_payouts": null }, "minimum_deadline": { "status": "past_due" }, "reference": null, "requested_reasons": [ { "code": "routine_onboarding" } ] } ], "summary": { "minimum_deadline": { "status": "past_due", "time": null } } } } ``` ## Submit recipient information to Stripe After you collect the required information, use the [Accounts API](https://docs.stripe.com/api/v2/core/accounts/update.md?api-version=preview) to submit it. ```curl curl -X POST https://api.stripe.com/v2/core/accounts/{{CONNECTEDACCOUNT_ID}} \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-03-25.preview" \ --json '{ "contact_email": "jenny.rosen@example.com", "display_name": "Jenny Rosen", "identity": { "country": "us", "entity_type": "individual", "individual": { "given_name": "Jenny", "surname": "Rosen", "address": { "city": "Brothers", "country": "US", "line1": "27 Fredrick Ave", "postal_code": "97712", "state": "OR" } } }, "include": [ "identity" ] }' ``` ## Confirm that the recipient is enabled [Retrieve the Account](https://docs.stripe.com/api/v2/core/accounts/retrieve.md?api-version=preview) and inspect the `status` of the capabilities you’ve requested. The `status` of a payout method capability must be `active` for the recipient to receive payouts by that method. ```curl curl -G https://api.stripe.com/v2/core/accounts/{{CONNECTEDACCOUNT_ID}} \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-03-25.preview" \ -d "include[0]=configuration.recipient" ``` ## Create payout methods for your recipients After enabling a payout method capability, use the [Outbound Setup Intents API](https://docs.stripe.com/api/v2/money-management/outbound-setup-intents/create.md?api-version=preview) to create the recipient’s actual `PayoutMethod`. The Stripe-Context header in this request must be the recipient’s account ID. ```curl curl -X POST https://api.stripe.com/v2/money_management/outbound_setup_intents \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-03-25.preview" \ -H "Stripe-Context: {{CONTEXT_ID}}" \ --json '{ "payout_method_data": { "type": "bank_account", "bank_account": { "country": "FR", "account_number": "FR76300060000112345678901234" } } }' ``` > The `OutboundSetupIntent` response contains [the PayoutMethod](https://docs.stripe.com/api/v2/money-management/outbound-setup-intents/create.md?api-version=preview#v2_create_outbound_setup_intents-response-payout_method). When making an `OutboundPayment`, use the `PayoutMethod` ID (for example, `frba_test_...`), not the `OutboundSetupIntent` ID (`osi_test_...`). To send payouts by wire transfer, use the [US Bank Accounts API](https://docs.stripe.com/api/v2/core/vault/us-bank-accounts/update.md?api-version=preview) to add the `fedwire_routing_number` to the `PayoutMethod`. Additional fees apply. See [pricing](https://docs.stripe.com/global-payouts/pricing.md) for details. You can also use debit cards as a payout method. However, your recipients must submit their debit card information directly to Stripe. If you’re interested in enabling payouts by debit cards, use the [Account Links API](https://docs.stripe.com/api/v2/core/account-links.md) to create a shareable form for your user to submit their debit card credentials. ## View all payout methods for a recipient Use the Payout Methods API to [retrieve a recipient’s PayoutMethods](https://docs.stripe.com/api/v2/money-management/payout-methods/list.md?api-version=preview). The Stripe-Context header in this request must be the recipient’s `Account` ID. ```curl curl https://api.stripe.com/v2/money_management/payout_methods \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-03-25.preview" \ -H "Stripe-Context: {{CONTEXT_ID}}" ``` The response contains a list of `PayoutMethod` objects associated with the recipient. Use a `PayoutMethod` ID to make a payout using the [Outbound Payments API](https://docs.stripe.com/api/v2/money-management/outbound-payments/create.md?api-version=preview). See [Send money](https://docs.stripe.com/global-payouts/send-money.md) for more details.