Payout onboarding state
GET/v1/wallet/account
scope wallet.read
Check this BEFORE offering a withdrawal button. Payout onboarding runs on Stripe Connect, which collects identity documents directly in a hosted browser flow — it CANNOT be completed through this API and no endpoint for it will ever exist. requirements.currently_due carries Stripe's own field names for what is still missing, and next_step says what to tell your user.
Response#
| Field | Type | Description |
|---|---|---|
data | object | Your payout account — the identity checks that must pass before money can leave the platform. This is a Stripe Connect account behind the scenes, and these fields mirror what it reports. |
data. | boolean | Whether a payout account exists at all. false means nobody has started onboarding. |
data. | boolean | The one field to branch on. Everything else explains WHY it is false. |
data. | string | How far onboarding has got. |
data. | boolean | Whether the account may receive money. |
data. | boolean | Whether the required details have been provided. They can be submitted and still not verified. |
data. | object | What is still outstanding. Onboarding is finished in a browser, not over this API — a partner reads this to tell the seller what to go and do. |
data. | string[] | Needed now. Payouts stay blocked until these are supplied. |
data. | string[] | Overdue. Worse than currently_due: the account may already be restricted. |
data. | string[] | Supplied and being checked. Nothing to do but wait. |
data. | string|null | Why payouts are switched off, when they are. |
data. | array | Where money would go. Full numbers are never returned. |
data. | string | Last four digits, enough to tell two accounts apart. |
data. | string | Which currency this account receives. A payout needs a bank account in the BALANCE currency: holding RON with a EUR-only account leaves the money stuck. |
data. | string | ISO-2 of the bank. |
data. | object | What to do next, in one place, so an integration does not have to interpret the requirement lists. |
data. | string | A stable key for the next action; none when nothing is needed. |
data. | string | The same thing in words, safe to show a seller. |
Example
{
"data": {
"has_account": true,
"can_withdraw": true,
"onboarding_status": "complete",
"payouts_enabled": true,
"details_submitted": true,
"requirements": {
"currently_due": [],
"past_due": [],
"pending_verification": [],
"disabled_reason": null
},
"bank_accounts": [
{
"last4": "0000",
"currency": "RON",
"country": "RO"
}
],
"next_step": {
"action": "none",
"message": "This account can receive payouts."
}
}
}