Payment troubleshooting
A missing Pay button, a connected account Stripe will not let charge, or a payment that landed without marking the invoice paid: here is what causes each one and how to clear it.
Work through the connection first. Most client-side symptoms trace back to something visible on Settings → Getting paid.
My client cannot see a Pay button
Six things have to line up. Check them in this order.
| Check | How to tell | Fix |
|---|---|---|
| Your plan includes online payments | Online payment is a paid-plan feature | Upgrade from Free |
| Stripe is connected | The Stripe account card says "Connected" | Connect an account |
| Stripe lets that account charge | The card does not mention verification | Finish verification in Stripe |
| The switch is on | Accept client payments online is on | Turn it on |
| The invoice is marked sent | The portal shows it at all | Tick Mark as sent |
| The share link allows comment or edit | A view-only link never shows Pay | Reshare with comment or edit access |
On Free, the switch can be on and still do nothing
Turning on Accept client payments online while on Free saves, and confirms that it saved, but clients still see payment instructions rather than a Pay button. Online payment needs a paid plan as well as the switch. If everything on the Getting paid page looks right and the button is still missing, check the plan first.
One more, easily missed: the invoice preview inside your own dashboard never shows a Pay button. That is deliberate, since the button is for your client. Check the real portal through the share link to see what they see.
The account connected, but it cannot take payments
The Stripe account card reads "Connected, but Stripe hasn't finished verifying this account yet."
Stripe decides this, not Optivation. It usually means Stripe still wants something from you: identity documents, a bank account, business details, or a response to a review. Sign in to your Stripe dashboard and clear whatever it asks for.
You do not need to reconnect afterwards. Optivation picks up the change from Stripe on its own, and the card updates once Stripe confirms the account can charge.
Connecting failed
| What you saw | What happened |
|---|---|
| "Stripe connection was cancelled." | You declined or closed Stripe's approval screen. Start again |
| "Could not connect your Stripe account. Please try again." | Stripe rejected the handover. Retry, and check you are signed in to the right Stripe account |
| "Invalid or expired request" | The connection was left open too long, or the link was opened twice. Go back to Settings → Getting paid and click Connect Stripe again |
| "Unauthorized" | You finished the flow signed in as a different user, or your admin role changed midway. Sign in as an admin and retry |
| "Stripe Connect is not configured." | A setup problem on the Optivation side rather than yours. Contact support |
The last three appear as a plain message in the browser rather than inside the app, because they happen on the way back from Stripe.
My client hit Pay and got an error
| What they saw | Cause |
|---|---|
| "Online payment is not available for this invoice." | One of the conditions above is not met |
| "Online payment is not available for this invoice currency yet." | The invoice currency cannot be charged this way. See below |
| "Could not start checkout. Please try again in a moment." | A temporary problem reaching Stripe. Ask them to retry |
| "Too many requests. Please try again later." | Too many attempts in a short window. It clears within about fifteen minutes |
| "Invoice not found" | The invoice is no longer marked sent, was deleted, or belongs to a different client than the portal |
Currencies that cannot be charged
Currencies with no decimal places, such as JPY and KRW, and three-decimal currencies such as KWD, BHD and OMR, are refused rather than converted. Invoice in a currency Stripe handles with two decimal places, or collect that invoice outside the portal.
A card was declined
Declines come from the client's bank and Optivation is not told why. Your Stripe dashboard shows the decline reason against the attempt, which is usually enough to tell the client whether to retry or use another card. The invoice stays unpaid and the Pay button stays available.
The payment went through but the invoice still says unpaid
Give it a few minutes. Stripe tells Optivation about the payment moments after it completes, and the invoice flips to paid on its own.
If it has not caught up within the hour, Optivation re-checks the payment against Stripe automatically and marks the invoice then. Nothing is lost in the meantime; the money is already in your Stripe account.
Should it still look wrong after that, confirm in Stripe that the payment actually succeeded rather than being authorised and abandoned, then mark the invoice paid yourself.
"Action needed" email about an invoice that was paid
You get this when a client paid an invoice that had stopped being payable, usually because it was deleted or changed while their checkout was open.
The money reached your Stripe account. Optivation could not attach it to the invoice, so reconcile it yourself: either reinstate and mark the invoice paid, or refund the payment from your Stripe dashboard.
Disconnecting did not work
"Could not disconnect Stripe." means the request failed on the way through. Reload the page and check the card. If it still shows as connected, try again.
You can also remove Optivation's access from the Stripe side, under Connected apps in your Stripe settings.
Related
- Connecting Stripe — the connection and its three states
- Online invoice payments — the conditions for a Pay button
- Where the money goes — refunds, disputes, payouts
- Time & billing troubleshooting — problems earlier in the workflow
