Failed charges
After Charge, the Card on file box shows one result message. This page lists every one, what caused it, whether any money moved, and what the supplier can do next. Unless a row says otherwise, nothing was charged and nothing changed on the invoice, in the books or in store credit.
Who uses it
- Supplier staff read the message and take the next step it offers.
- Clipp support refunds a charge the invoice couldn't record.
Every result
| Message (exact) | Colour | Charged? | Charge button afterwards | Offered |
|---|---|---|---|---|
| Card charged. | Green | Yes | Hidden (nothing owed) | — |
| A charge is already in progress | Blue | Maybe, see below | Shown | — |
| The amount owed changed to {total}. Nothing was charged; review it and charge again. | Amber | No | Shown, with the new total | — |
| Nothing is owed on this invoice any more. | Blue | No | Hidden | — |
| This invoice is cancelled or a draft, so it can’t be charged. | Blue | No | Shown | — |
| The card was declined. Ask the restaurant for a different card. | Red | No | Hidden until the panel is reopened | Request new card, Enter card yourself |
| This card needs the restaurant to approve every charge (3D Secure), so it can’t be charged from here. Ask them for a different card. | Red | No | Hidden until the panel is reopened | Request new card, Enter card yourself |
| The card was declined. | Red | No | Shown | — |
| The charge didn’t go through and nothing was charged. Try again. | Red | No | Shown | — |
| The card was charged, but this invoice couldn’t record the payment. Contact Clipp support to refund it. Once it’s refunded in Stripe, you can charge again. | Red | Yes | Hidden until the panel is reopened; then shown, and clicking it re-checks Stripe | — |
| Any other error, in a red box (for example "This restaurant has no card on file." or "This supplier has not connected a Stripe account.") | Red | No, or unknown | Shown | — |
The wording comes from the app's own translations, chosen by the result, so it's the same in every language the app supports.
Declines: which ones ask for a new card
Stripe reports a reason with each decline. These reasons mean the same card will fail again, so the box hides Charge and offers a new card:
| Stripe's reason | Message |
|---|---|
| card declined (any decline the bank gives, including insufficient funds) | The card was declined. Ask the restaurant for a different card. |
| authentication required | This card needs the restaurant to approve every charge (3D Secure)… |
| expired card | The card was declined. Ask the restaurant for a different card. |
| incorrect number, incorrect CVC | The card was declined. Ask the restaurant for a different card. |
| card not supported | The card was declined. Ask the restaurant for a different card. |
| lost card, stolen card | The card was declined. Ask the restaurant for a different card. |
| no usable payment method | The card was declined. Ask the restaurant for a different card. |
| anything else (for example a processing error at Stripe) | The card was declined. Charge stays, since trying again may work. |
- Request new card emails the restaurant a new save-card link, exactly like Request card on file, cancelling any older link. It reads Request sent and greys out once sent.
- Enter card yourself opens Stripe's page in a new tab (Enter a card yourself).
- When a new card is saved, the box shows it fresh, without the old decline, and Charge is back.
- Charge is only hidden until the panel closes. Close and reopen Manage Payments (or reload) and the old message is gone and Charge shows again for the same card.
The amount owed changed
The confirm step shows the total from when it was opened. At the moment of charging, Clipp works the total out again. If it differs by even a cent, nothing is charged.
Example: the confirm step says Total charged $257.55. Meanwhile a colleague records $100.00 cash. The balance is now $150.00, the card fee $4.65, so the box shows "The amount owed changed to $154.65. Nothing was charged; review it and charge again." and the button becomes Charge $154.65.
The same happens if Clipp switches the supplier to cover the card fee while the confirm step is open ($257.55 → $250.00).
A charge is already in progress
Shown when another charge on the same invoice hasn't finished, for example a double-click, a second tab, or a colleague charging at the same time. The restaurant is charged once.
It also covers two rarer cases, with the same message:
- Stripe is still processing the charge. Card charges almost never stay in this state.
- The card was charged but recording is waiting for Stripe's confirmation (for example if Clipp's own record briefly failed). The payment appears within moments when Stripe confirms it. Refresh before charging again.
A charge that got stuck (the browser lost the connection mid-charge, say) never blocks the invoice for long. The next Charge click checks Stripe for what really happened: if Stripe charged, the payment is recorded; if not, the stuck charge is cleared and the new one goes ahead. A stuck charge that never reached Stripe is cleared after 2 minutes.
Charged but not recorded
Rare. Stripe took the money, but the invoice refused the payment, most likely because it was cancelled in the instant between Clipp's check and the record.
| Thing | State |
|---|---|
| Restaurant's card | Charged the total, for example $257.55 |
| Invoice | Unchanged: still owes the balance (or cancelled) |
| Records and books | No payment, no income |
| Card on file box | The "charged, but … couldn’t record" message. It stays after a reload. Charge is hidden right after the failure; after reopening the panel it's shown again. |
| Charging this invoice | Blocked until the charge is refunded in full in Stripe. A click before that shows the same message again and charges nothing. |
What to do: contact Clipp support to refund it. Once Stripe shows the full refund, the next Charge click clears the block and goes ahead. A partial refund doesn't clear it. The message keeps showing after the refund until someone clicks Charge, because the box only rechecks Stripe when charging.
What a failure changes
Example: a $250.00 invoice, the card is declined.
| Thing | Before | After |
|---|---|---|
| Invoice status and balance | Unpaid, $250.00 | Unpaid, $250.00 |
| Records, books, store credit, AR | — | No change |
| Supplier's Stripe account | — | A failed $257.55 payment, "Invoice {number}" |
| Emails, SMS, push | — | None. The restaurant isn't told; the supplier contacts them or requests a new card. |
Decisions
- Hide Charge only when retrying can't help. A decline only a new card fixes, or money already taken, would fail again or double-charge; a temporary error should stay retryable. (#2404)
- Offer a new card only when one helps. Asking for a card after a temporary Stripe error misleads the supplier. (#2404, #2468)
- Stuck charges resolve from Stripe's own record on the next click. No charge can stay stuck, and none is ever charged twice. (#2397)
- Money taken but not recorded blocks new charges until it's refunded. Charging again would take the money twice. (#2397)
- Messages come from the translations by result, never Stripe's text. So they're consistent and translated. (#2397)
Known limitations
- Insufficient funds reads as "Ask the restaurant for a different card." Stripe reports it as a decline, so the box can't tell it from a bad card. The same card might work later; close and reopen Manage Payments to try again.
- Charged-but-not-recorded needs Clipp support. There's no button for the supplier to refund it or to record it.
- The restaurant gets no decline message. Nobody is told automatically.
- "A charge is already in progress" covers three different situations with one message.
FAQ
The card was declined. Can I try again? Not straight away from the same screen, because the same card would fail the same way. Click Request new card or Enter card yourself. If you believe the restaurant has since topped up the card, close and reopen Manage Payments (or reload) and Charge is back.
It says "A charge is already in progress" but nobody else is charging. Wait a moment and click Refresh. If the invoice now reads Paid, the charge went through. If not, clicking Charge again checks Stripe and either records the earlier charge or clears it.
It says the card was charged but the invoice couldn't record it. Was the restaurant charged? Yes. Contact Clipp support to refund it. You can charge again once Stripe shows the full refund.
It says "This invoice is cancelled or a draft" but it isn't. The same message appears when your books are missing the category the payment needs. Contact Clipp support.