PlexySDK DOCS

Refusal Reasons

Payment decline reasons and how to handle them

Refusal Reasons

When a payment is declined, the response includes a decline code indicating the reason.

Common decline codes

CodeDescriptionRecoverable
generic_declineCard declined for unspecified reasonMaybe
insufficient_fundsNot enough funds availableYes
lost_cardCard reported lostNo
stolen_cardCard reported stolenNo
expired_cardCard has expiredNo
incorrect_cvcCVC verification failedYes
incorrect_numberCard number is incorrectYes
processing_errorProcessing error occurredYes
do_not_honorIssuer declined without reasonMaybe
pickup_cardCard should be retainedNo

Decline response

{
  "id": "pay_abc123",
  "status": "failed",
  "failure_code": "insufficient_funds",
  "failure_message": "The card has insufficient funds.",
  "outcome": {
    "type": "issuer_declined",
    "reason": "insufficient_funds",
    "ripr_level": "normal",
    "seller_message": "The card has insufficient funds to complete the purchase."
  }
}

Handling declines

Recoverable declines

For recoverable errors, prompt the customer to:

  • Use a different payment method
  • Enter correct card details
  • Contact their bank
if (payment.failure_code === 'insufficient_funds') {
  showMessage('Your card has insufficient funds. Please try a different card.');
  showPaymentForm();
}

Non-recoverable declines

For permanent declines, advise the customer to use a different payment method:

if (
  ['lost_card', 'stolen_card', 'pickup_card'].includes(payment.failure_code)
) {
  showMessage(
    'This card cannot be used. Please try a different payment method.',
  );
}

Customer messaging

Decline CodeRecommended Message
generic_decline"Your payment was declined. Please try a different card or contact your bank."
insufficient_funds"Your card has insufficient funds. Please try a different card."
lost_card"This card cannot be used. Please use a different payment method."
expired_card"Your card has expired. Please update your card details."
incorrect_cvc"The security code is incorrect. Please check and try again."
incorrect_number"The card number is incorrect. Please check and try again."
do_not_honor"Your bank declined the payment. Please contact your bank or try a different card."

Retry recommendations

CategoryAction
Card details wrongLet customer retry with correct details
Insufficient fundsSuggest different card
Fraud-relatedDon't retry, suggest different method
Bank declinedSuggest contacting bank

Reduce declines

  1. Collect complete billing address - Improves AVS matching
  2. Request CVC - Reduces fraud declines
  3. Use 3D Secure - Shifts liability, improves approval
  4. Update stored cards - Use Account Updater for subscriptions

See also

On this page