Skip to content

Shopify tutorials for the person running the store. Orders, discounts, fulfilment, returns.

Handle a failed payment in Shopify

A failed payment is a symptom, not one diagnosis. The card issuer may decline, the billing address may not match, 3-D Secure may be incomplete, a gateway may be unavailable, or your own store setup may be the problem. The first move is always the same: open the checkout timeline and read the payment event message, because it tells you who can fix it.

Written · Shopify admin, desktop steps · 5 minutes read

The worked example

Order$95.00, card declined at checkout
First moveOrders > Abandoned checkouts > timeline
Customer fixContact bank, or use another card
Store fixMissing provider, wrong gateway credentials
Pending charge on the statementReverses in 3 to 5 business days
RecoverySend the checkout link again, do not create a duplicate order

Download the record: failed-payment-log.csv (212 bytes).

A log of the failed payments in this tutorial, with the cause, who can fix it, and the outcome. Two of the three orders recovered, for $190.00 of the $285.00 at stake.

1Open the abandoned checkout

From your Shopify admin, go to Orders, then Abandoned checkouts, and select the checkout. For an order that exists, inspect its order timeline and transactions instead.

2Read the payment event message

Expand the payment event and review its Message field. Shopify lists the reasons for a failed payment there: a card declined by the processor, a 3-D Secure failure, a technical processing failure, an incorrect card number or expiry or CVV, a postal or billing mismatch, or a block for high fraud risk.

3Sort customer-side from store-side

Most declines are the customer's card details, the card issuer, or 3-D Secure. The store-side causes Shopify documents are a missing primary payment provider, wrong third-party gateway credentials or setup, no shipping rate, an outage, or an unavailable item or discount. In this tutorial checkouts A-101 and A-102 are customer-side, and A-103 is a store-side gateway credential problem.

4Act on the cause

If the card information seems correct, it is best to have your customer contact their bank, ask for more information, and ask for future charges to be accepted. If the cause is store-side, fix your payment gateway settings and credentials, or add the missing shipping rate, before you send anyone back to checkout.

5Recover the order once, not twice

Send the customer the checkout link again so they can complete the same checkout. Do not create a duplicate order for them: a second order risks a second charge, and the first checkout is still there waiting to be completed.

6Answer the pending charge question

If the customer says they were charged anyway, check whether an order matching the charge amount exists. If no order exists, explain that the charge is likely a pending authorization from a failed payment attempt, and that it should automatically reverse within 3 to 5 business days.

The arithmetic

All three checkouts are $95.00, so the recovery rate is easy to read:

CheckoutAmountCauseRecovered
A-101$95.00Card declined$95.00
A-102$95.00Billing mismatch$95.00
A-103$95.00Gateway credentials$0.00
Total$285.00Two of three$190.00

The three checkouts total $285.00. The two customer-side failures recovered for $190.00. The store-side failure recovered $0.00 until the gateway credentials are fixed, because no customer can pay through a gateway whose credentials are wrong.

Held at the counter

A previously good card can still decline. Even if all the card information is correct, and your customer previously had a successful payment, a new charge can still be declined by a bank's fraud systems. Do not tell a customer their card must be wrong: the bank's signals change constantly.

A pending charge is not a charge. Many banks display charges immediately when an attempt for payment is made, even if that payment fails. Most of the time, failed payment attempts appear as pending charges, and they reverse in 3 to 5 days. Check for an order before you refund anything.

High-risk blocks are yours, not the customer's. If the timeline says the checkout was blocked due to a high risk of fraud, retrying with the same payment and billing details will not fix it: Shopify evaluates risk on each attempt, so a retry with different payment or billing details might not be blocked. If you know the customer and want to complete the sale, create a draft order and send them an invoice instead.

Sources