There are a few common reasons why a card payment may not go through. Here are the three main reasons:

  1. Card details are entered incorrectly.
    Yep, it's pretty obvious, but this is the most common reason.
    To fix this: The customer needs to double-check the card number they entered.

  2. Postcode doesn't match the postcode linked to that bank account    
    By default your Stripe account will block a payment when this happens, to prevent fraud. If you login to your Stripe account, you can check if this has happened:
    * Login to Stripe
    * Search for your customer's email address - it will bring up any transactions she has made with you.
    * If the postcode has failed the check, then you will see 'BLOCKED' in the payment description.
    To fix this: The first port of call should be to ask your customer to double-check their postcode and try again. If you want to, you can turn off the postcode checker used by Stripe in your Radar settings: but be aware, the checker is there to prevent fraudulent payments going through.
    To remove the postcode check, login to Stripe, go to Settings, then from the Radar box, click -> Rules —> click the … for ‘Block if Postal Code verification fails’ and click ‘disable’.

  3. Insufficient funds in the account
    Naturally, a card payment will be rejected if there aren't enough funds in the account. You will be able to see if this is the case, by checking the payments in Stripe as per point 2.
    To fix this: The customer will need to use a different card, or transfer some funds into their account and try paying again.