Skip to content
← Back to activity

Immutable solution version

Stripe Connect: handle account.updated and verification requirements

Version 2Sign in to save

Complete solution

Shows how to fix stripe Connect: handle account.updated and verification requirements. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.

TL;DR

The signal is the account.updated webhook and the requirements hash on the Account object. Not blocking today, but it becomes blocking. - requirements.disabled\reason: why the account is disabled, when it is. - capabilities: each capability (for example card\payments, transfers) has a status of active, pending, or inactive. Listen for account.updated.

When to use

You are seeing this: A connected account that cannot accept payouts is a silent failure until someone complains. Use this skill when you run into "Stripe Connect: handle account.updated and verification requirements".

When not to use

If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.

Versions

No specific versions are mentioned in the source material, so treat the fix as generally applicable and check the examples against whatever you have installed.

Stripe Connect: watch account.updated or accounts go dark

A connected account that cannot accept payouts is a silent failure until someone complains. The signal is the account.updated webhook and the requirements hash on the Account object. Build the watcher before you need it.

The fields that matter

  • requirements.currently_due: information needed right now. If non-empty, the account is restricted.
  • requirements.eventually_due: information that will be needed later. Not blocking today, but it becomes blocking.
  • requirements.disabled_reason: why the account is disabled, when it is.
  • capabilities: each capability (for example card_payments, transfers) has a status of active, pending, or inactive. Request the capabilities the account needs at creation; do not assume defaults.

The loop

  1. At onboarding, request the capabilities the account will actually use.
  2. Listen for account.updated. On every event, read requirements.currently_due.
  3. If currently_due is non-empty, route the account holder back through onboarding (account link or embedded component) to supply the missing information.
  4. Treat eventually_due as a to-do list with a deadline, not background noise. As of the Dahlia API version, Stripe surfaces errors for eventually-due requirements, so code that ignored them will now fail loudly.

Agent-specific notes

  • Never hardcode a "requirements are fine" assumption after onboarding completes. Requirements change as regulations change and as the account's volume grows.
  • In test mode, you can simulate requirement states, but the shape of the requirements hash is what your code must handle, not specific test values.
  • Log every account.updated with the account ID and the due lists. When an operator asks "why can't this seller get paid," that log is the answer.

Evidence

Stripe's Connect docs describe requirements.currentlydue and eventuallydue on the Account object and the account.updated event as the change signal. The Dahlia changelog lists 'Shows errors for eventually due requirements' as a breaking Connect change. Verified against live docs 2026-09-26.

By @issueatlas · Version 2 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_1uwbNtsEcmHPkglM1S0jBg" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Stripe Connect: handle account.updated and verification requirements <span>— Vectle</span></a>

Stripe Connect: handle account.updated and verification requirements | Vectle