Between April and June 2026 we built Volta, a subscription platform for creators selling access to an audience. It was ours, we retired it in August, and it never took a real payment. One reason it was slow to a first sale is a step every platform in this category has and almost none of them show you: the wait between connecting a payment account and being allowed to charge anyone.
On Volta a creator connected Stripe in step three of five. They clicked through a form, landed back on our dashboard, and saw a green check. The green check was ours. It meant they had returned from Stripe, not that Stripe had cleared them. Those are different facts, and the gap between them is where a first sale goes to wait.
The green check is not the switch
Whether an account can take money is two fields on Stripe's side, charges_enabled and
payouts_enabled, which "indicate whether it can create charges and accept
payouts."[1] Until both are true the account is
connected and inert.
They flip on a webhook. Stripe sends account.updated whenever an account's status
changes, and our server listened for it, wrote charges_enabled into our database, and
only then treated the creator as able to sell.
The dashboard polled a status endpoint every few seconds on the return screen so the page
could catch up the moment the webhook landed. Sometimes that was under a minute.
Sometimes it was the next day.
Stripe says as much. When a creator comes back from Stripe's hosted onboarding, that redirect "doesn't mean that all information has been collected, or that there are no outstanding requirements on the account. It only means the flow was entered and exited properly."[2] The platform is expected to check the account itself, or wait for the webhook, before believing anything.
What Stripe is reading while you wait
The hosted form is "a web form hosted by Stripe that renders dynamically based on the capabilities, country, and business type of each connected account,"[2] so no two creators see the same fields. For a US company Stripe asks for information about the business such as name, address and tax ID, information about the person opening the account such as name and date of birth, and information about anyone who owns or controls it.[3] Often the typed answers verify on their own. When they do not, Stripe wants "a scan of a valid government-issued ID, a proof of address document, or both."[3]
Stripe keeps a running list on the account called requirements.currently_due, and "as
long as requirements.currently_due isn't empty, the Account has outstanding
requirements that might restrict its capabilities."[1]
The list moves as answers come back. A greyscale scan, a business name that does not match the uploaded document, a
website Stripe cannot reach: each one puts a field back on the list with an error
attached, and the creator is waiting again.
And it is more than one switch. Card payments run on two Stripe capabilities,
card_payments and transfers, and "if the status of either one is inactive, then
both capabilities are disabled."[4] A creator can
clear identity verification and still not sell, because the second capability is still
pending.
Why we refused to publish the offer
We made the wait visible on purpose. An offer on Volta could be drafted, themed and priced
before Stripe cleared the account, but it could not be published, and the share link
returned nothing until charges_enabled was true.
The alternative was to let the offer go live and have the checkout fail for the first buyer who tried it. We were not willing to do that. A creator looking at a pending badge can be told what it is waiting on. A buyer who taps Pay and gets an error just leaves, and the creator never learns they were there. Between a frustrated creator and a lost customer with no trace, the creator is the one you can still talk to.
It had a cost. We built the onboarding around an assumption that a large share of creators would not finish Stripe verification on the first attempt, most of them stalling at the ID upload. Every one of those is a person who built an offer and then could not turn it on. Draft-but-not-publishable was the least bad place to hold them, but it is a locked door and we built it.
It can lock again after you are live
The list outlives the first sale. Requirements have an eventually_due bucket for things
"you might need to resolve, depending on whether the corresponding thresholds are
reached,"[1] and Stripe "temporarily pauses
charges or payouts if the information isn't provided or verified according to the
thresholds."[3] The threshold is usually time
passing or a volume of charges, which means the trigger is success. Sell enough and Stripe
asks for the company tax ID it did not need at signup.
A risk review can add requirements too, and those "you can't provide using the
API"[1] - the creator or the platform has to
complete a form or work a support case. Each new requirement carries a deadline. Miss it
and "the corresponding functionality is disabled and those fields are added to
past_due."[2] Stripe "typically disables payouts on
the account," and if it "is unresponsive to our inquiries, Stripe might also disable the
ability to process charges."[1]
On a membership business that means renewals start failing, new signups stop, and the money already collected sits in a balance the creator cannot withdraw until a document is uploaded. Whether the platform is watching for this on the creator's behalf is a fair question. Stripe tells platforms they "must also monitor their connected accounts' requirement statuses and handle any updates in a timely manner,"[1] and it is not something the creator can see from outside.
Before you count on it
A few things worth doing rather than assuming.
Find out whether you can log into the Stripe account directly. Express accounts have a real Stripe dashboard behind them, and if the platform switched it on, that dashboard shows your actual verification status instead of the platform's summary of it.
Ask the platform to read your account's disabled_reason back to you. It is one field, it
is specific, with values like "additional verification information is required" or "under
review," and support can see it.
Give Stripe the eventually_due list now, not only what is currently blocking you. Stripe
lets platforms collect everything up front or "incrementally" as "the connected account
earns more revenue."[3] Incremental is a faster
signup and a worse day three months later. If your platform has a "finish all
verification" option, use it.
And do not read a platform's "connected" badge as "ready to sell." It usually means you came back from Stripe. Whether you can charge anyone is a different field, on Stripe's side, and you are allowed to ask for it by name.
Disclosure. Volta was our product, it is retired, and nothing here is a recommendation to use it. The publish gate, the status polling, the webhook handler and the onboarding assumptions above are from our own build rather than anyone's documentation, so they carry no citation. Everything attributed to Stripe is quoted from its public documentation, listed and dated below.
