Payment error PAY016 — the customer's bank declined the card

Created by Emily Campbell, Modified on Fri, 31 Jul at 12:00 PM by Emily Campbell

In short: this is the customer's bank refusing the payment, not a fault in Bike Reservation Manager. No money has been taken and nothing has been charged to the card. The booking is untouched.

When you charge a customer's card and their bank refuses it, you'll see a message beginning "The customer's bank declined this card", ending with the reference (pay016).

What the message looks like

Where the bank gave a reason we can pass on, it appears in brackets, followed by the step that fits that reason:

  • "The customer's bank declined this card (insufficient funds). No payment was taken. Ask the customer to contact their bank, or pay with a different card."

Where the bank gave no reason, or a reason we're not permitted to repeat, you'll see the same message without the brackets:

  • "The customer's bank declined this card. No payment was taken. Ask the customer to contact their bank, or pay with a different card."

Unlike other payment errors, this message carries no booking reference, Stripe ID or amount — that detail stays in our logs rather than on screen. Note which booking you were on before you move away.

What to do next

The message tells you. The next step isn't the same for every decline, so read the sentence after the reason rather than assuming — trying another card is right for some and actively wrong for others.

Reasons you may see, and what each one asks you to do

Ask the customer to contact their bank, or pay with a different card

The bank has made a decision only it can reverse, so there's nothing to fix at your end.

  • insufficient funds — not enough money available on the card.
  • the amount was not accepted — the bank wouldn't approve a charge of this size.
  • the card's spending limit was reached / the card's withdrawal limit was reached — a limit set by the bank, not by us.
  • the bank does not allow this transaction / the bank does not permit this transaction — the card is blocked for this type of payment.
  • the card does not support this kind of purchase / the card does not support this currency — often prepaid or regional cards.
  • the bank asked the customer to call them — the customer has to speak to their bank before the card will work.
  • too many incorrect PIN attempts — the card is locked until the customer sorts it out with their bank.

Try the same card again in a few minutes

These are temporary problems at the bank's end. Trying a different card isn't necessary and won't help.

  • the bank asked us to try again later
  • the bank asked us to retry the payment
  • a processing error at the bank
  • the bank could not be reached

Check the card details and enter them again

A mistyped detail rather than a refusal — no need to involve the bank.

  • the security code was wrong
  • the card number was wrong
  • the PIN was wrong

Ask the customer for an up-to-date card

  • the card has expired — the saved card is past its expiry date.
  • the account is no longer valid
  • the card details have changed

Special cases

  • it looked like a duplicate of a recent chargestop and check before doing anything else. The bank has matched this against a recent charge, which usually means that earlier charge went through. Look at the customer's recent payments on the booking first. Retrying here is the most common way a customer ends up paying twice.
  • the payment needs the customer to authenticate — the customer has to complete the extra check their bank asks for, so hand it back to them rather than trying another card.
  • a Stripe test card was used — a test card number has reached your live account. Ask for a real card.
Don't keep retrying the same card where the bank has refused outright — it will usually refuse again, and some banks treat repeated attempts as suspicious. This doesn't apply to the temporary reasons listed above, where retrying is exactly what's being asked for.

When no reason is shown

A message with no reason in brackets means one of three things: the bank declined without explanation, the reason was one we deliberately don't repeat, or it's a reason newer than this article.

Some declines relate to a card reported lost or stolen, or to suspected fraud. Card networks ask that these aren't spelled out to the person at the counter, so we show the plain message instead. Treat a decline with no stated reason exactly like any other — offer another payment method, and leave it to the customer and their bank. It isn't an accusation, and it's not something to raise with the customer.

Is this the same as PAY004?

No, and the difference matters:

  • PAY016 — the bank looked at the payment and said no. Nothing is wrong with your setup.
  • PAY004 — a problem with the card or the payment itself that isn't a bank decision. See Payment error PAY004.

Until July 2026 both arrived as PAY004, carrying Stripe's raw wording, which is why an ordinary decline used to read like a system fault.

If you're seeing PAY016 repeatedly across different customers and different cards, that's worth raising with us — a single decline isn't, as it's a normal part of taking card payments.

Still stuck?

Contact support with:

  • The booking reference.
  • The full message, including the reason in brackets and the (pay016) reference.
  • Roughly when you tried, and whether a different card worked.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article