E-commerce
June 28, 2026
The customer is ready to buy. They click "Pay". A red message appears: payment declined. Panic, mistrust, abandonment. Sometimes they write to you in the chat: "Your site isn't working", "Was my card charged anyway?"
A card refusal is not always a store bug. It is often the bank, 3D Secure, a spending limit, or an expired card. Without clear help, you lose a hot sale and a customer who blames you.
This guide explains how to help the customer during a declined payment without losing the sale: causes, checkout copy, chatbot, support scripts, and recovery. For a global checkout outage, see incident communication (#278). This focuses on individual card refusal, not a system outage. See checkout help widget.
Summary
Why is a declined payment a critical moment for conversion?
The declined payment happens at the worst possible moment: maximum purchase intent, maximum stress. The customer has chosen, filled out the form, and sometimes waited for express delivery. The decline feels like a personal rejection.
Business impact
Optimus estimates that around 18% of payment attempts fail technically in e-commerce, and that 40 to 60% of the customers affected never try again (Optimus, payment failure 2026). CartDNA calculates that a shop with 10,000 orders/month and an average basket of $80 loses around $288,000 per year with a 3% failure rate (CartDNA).
Difference vs classic abandonment
Here, the customer has attempted to pay. The intent is stronger than a visitor who simply leaves the cart. A response within 2 minutes is worth more than a generic day+3 follow-up.
DTC Example
Fashion store, €120k/month: 340 abandonments/month post-card decline. Checkout help widget + payment_declined intent bot + 1-hour recovery email: 18% cart recovery, −41% "payment" support tickets.

Convert over 2,000 customers on average per month with Qstomy.
The world’s 1st Shopify AI dedicated to customer conversion



Empowering 200+ e-commerce merchants
Which customer messages are received when the payment fails?
Map out real formulations before writing macros or bot intents.
At the moment of refusal (chat)
"It's not going through", "Card declined", "Payment error"
"Your site is broken", "Scam?", "Checkout bug"
"My card has been charged?", "Double charge?"
"SMS code never received", "Bank page blocked" (3DS)
"Limit exceeded?", "Payment €800 declined"
By context
Mobile: 3DS refusal more frequent (bank app, blocked pop-up)
High cart value: personal card limits, group gift
International: foreign card, bank blocking cross-border
Export checkout chat, tickets tagged `payment_declined`, Shopify payment step analytics. See tag conversations and purchase objections.
Why is the card declined: what support needs to know?
Support does not have access to the bank's decision daily, but must explain the frequent causes without blaming the customer.
Soft decline vs hard decline
A soft decline is temporary: insufficient funds, "do not honor", authentication required. A hard decline is final: expired or stolen card, invalid number. Never automatically retry a hard decline (Checkout.com). Dunning Lite estimates that "Do Not Honor" and "Insufficient Funds" account for about 76% of declines (Dunning Lite).
Six common causes on the customer side
3D Secure (SCA): SMS or banking app validation failed or timed out
Funds or limit: balance, daily limit, e-commerce not activated
Incorrect data: CVV, date, billing address ≠ bank record
Bank fraud block: unusual purchase, customer should call issuer
Card type: prepaid, corporate, Amex depending on the gateway
Technical incident: PSP timeout, retry works
Authorization vs capture
A temporary hold may appear without a final charge: explain the 3 to 7-day bank release delay if the order is not confirmed.
What not to say
"It's your fault" or a blunt "Our site is working". Validate the emotion, guide with numbered actions.
How to write the checkout error message and facilitate the retry?
The checkout error message is the first line of support.
Effective copy structure
Acknowledge: "Your payment was not successful"
Reassure: "No final charge has been made" (if true according to logs)
Probable cause: "Often linked to bank authorization or credit limit"
Actions: retry, other card, PayPal / Shop Pay / Apple Pay, contact bank
Help: live chat or help center link
Retry path
"Retry payment" button visible on mobile, cart intact, no returning to the beginning of the funnel. Shop Pay shows about 72% checkout completion vs manually entered card (EasyApps, checkout 2026): offer express checkout as soon as the credit card fails.
Dark patterns to avoid
Hiding PayPal after failure, forcing account creation for retrying, technical message "Error 2001" alone. See pre-checkout questions.
How does the chatbot intervene at the moment of card refusal?
The checkout chatbot converts frustration into a sale if the response is immediate.
Priority Intents
payment_declined: my payment is declined
3ds_failed: bank code / 3D Secure
charged_twice: charged twice?
alternative_payment: pay another way?
which_cards: which cards are accepted?
Typical bot response
"Sorry for this issue. Usually, the bank refuses the authorization (3D Secure) or limits have been reached. No final payment is made until the order is confirmed. Try: 1) Try again with SMS/banking app authorization 2) Another card 3) PayPal or Shop Pay [checkout link]. I'm here if you still experience issues."
Proactive and handoff
Detect checkout friction (> 90 s or payment_failed event): "Having payment issues?" Baymard estimates that a visible chat at checkout reduces abandonment by about 8%. Human handoff: 3rd failure, cart > €300, B2B customer. See proactive messages, bot handoff and bot customization.
SLA
First checkout chat response < 45 s during business hours: direct correlation with recovery.
Which support scripts should be used for each type of refusal?
Aligned bot and agent payment declined scripts avoid contradictions.
Generic decline script
"I understand, this is stressful. Your order is not confirmed until the payment is accepted. Could you please try again by opening your banking app to approve the transaction? Alternatively, you can use another card or PayPal: [cart link]."
3DS Script
"Decline often happens during the bank security step. Check that pop-ups are not blocked, and try again on 4G mobile data if your Wi-Fi is filtering connections. Do not try again without completing the validation: SCA declines do not resolve automatically (Dunning Lite, SCA)."
Bank block script (do_not_honor)
"Your bank declined the transaction without providing details. A quick 2-minute call to the number on the back of your card usually unblocks online purchases."
Pending authorization script
"A temporary authorization hold may appear; the charge will disappear within 3 to 7 days if the order is not confirmed."
Large cart script
"For this amount, your e-commerce credit limit might be insufficient. The bank can temporarily increase it, or you can use PayPal / split into two orders depending on policy."
See support response templates. BNPL declined: redirect to BNPL support or another payment method.
How do you recover a shopping cart after a failed payment?
The recovery after a declined payment targets hotter leads than generic abandonment.
Follow-up timing
1 h: "Need help finalizing?" email + cart link + 3-step retry
24 h: alternative method reminder (Shop Pay, PayPal)
72 h: final reminder, incentive code if margin permits
Klaviyo / Omnisend Segmentation
Tag `payment_failed` vs generic abandonment: specific message, not "You forgot your cart". Recovery checkout email: 5 to 12% rate depending on the series (EasyApps). Max 3 payment recovery touchpoints.
SMS and returning visitors
Cart > €150, opt-in: "Still stuck at checkout? Reply HELP". Customer returns D+1: bot recognizes abandoned cart at the payment step if the session is active.
What does support need to know about Shopify Payments and the stack?
Level 1 support remains on client scripts; tech checks logs during escalation.
Shopify Payments and Shop Pay
Automatic 3DS SCA EU. Order not created = no capture. Shopify recommends publishing common refusal reasons in the help center or bot (Shopify, authorization rates). Shopify Integration.
Stripe / PayPal
Stripe dashboard error codes are useful for tech escalation. Stripe-hosted payment link to retry 3DS client-side if order is pending payment.
Shopify Fraud
Order flagged for fraud review: different customer message, analysis delay. Apple Pay / Google Pay after manual entry refusal on mobile: Face ID replaces card typos.
How to prevent declines before they reach support?
Reducing payment declines upstream limits support work.
Checkout Help Center
Accepted cards: Visa, MC, Amex, CB, PayPal
3D Secure: normal bank validation, not a scam
When the card is actually charged
Persistent issue: chat link
Optimized Checkout
Secure payment badges near the Pay button. Shop Pay, Apple Pay, Google Pay: less typing = fewer errors. Inline billing address help: "Same as bank address if shipping is different". Quarterly mobile 3DS audit iOS Safari + Android Chrome.
See self-service e-commerce and help center article: e-commerce help page.
Which KPIs should you track, and which mistakes are costing you sales?
Manage failed payment support with conversion metrics, not just tickets.
Essential KPIs
Payment failure rate: failures / checkout attempts
Recovery rate 24-72 h: orders placed after failure
Payment tickets / orders
Time to assist: first response time on checkout chat
Shop Pay adoption post-fail: alternative click-through rate
Common Mistakes
Technical error message shown alone, customer is lost
No checkout chat: silent abandonment
Agent says "try again" without guidance: 3rd failure
Generic cart recovery sequence ignores payment cause
Promising a refund without actual capture
Checkout.com estimates that soft declines represent approximately 38% of recoverable failures (Online Store News, 2026). See automation errors and reduce tickets with AI.
How does Qstomy help when a payment is declined?
Qstomy steps in at checkout when the customer gets stuck on payment.
Key Features
Intent payment_declined: 3DS scripts, limit, retry
Proactive checkout: message if friction is detected
Cart link: one-click recovery
Handoff: high-value cart or 3rd failure
Quantified DTC Scenario
Beauty brand, €95k/month, 280 chats/month "card declined / site glitched / charged", recovery post-decline 8%, average first reply 4 min checkout.
After Qstomy + 6 payment intents + proactive checkout + 1h email payment_failed segment: recovery post-decline 19% (+11 pts), payment tickets −44%, median first reply 38s, 68% resolved without an agent, Shop Pay clicks post-fail +23%.
Explore AI customer support, assisted sales, and request a demo.
Which playbooks should be launched this week?
Playbook 1: 7-day checkout chat audit
Count messages regarding "payment declined", "card blocked", "charged". Classify into 3DS vs limit vs bank vs fear of being charged. Prioritize checkout copy and bot intents.
Playbook 2: checkout error message V2
Replace technical message with a 5-line structure: acknowledgement, reassurance, cause, actions, chat. Mobile A/B test: measure 24h recovery.
Playbook 3: 5 bot intents + 5 agent macros
payment_declined, 3ds_failed, charged_twice, alternative_payment, which_cards. Same formulations for bot and helpdesk. Auto-handoff on 3rd failure or cart > €300.
Playbook 4: payment_failed recovery flow
Email at 1h + 24h to the payment_failed segment in Klaviyo. Content: 3 retry steps, Shop Pay visual, chat link. Measure recovery rate vs generic abandonment.
Playbook 5: "Payment declined" help center article
SEO page + RAG bot index: accepted cards, 3DS, temporary authorization, alternative methods. Link from the checkout error message.
Useful linking
Payment glossary

Enzo
June 28, 2026


