transaction_not_allowedhighAffects MRR

Stripe transaction_not_allowed Error — Causes, Fix & MRR Impact

The Stripe transaction_not_allowed error occurs when the card issuer does not allow the transaction (e.g. type or context), causing the decline and MRR risk for SaaS businesses processing subscription payments.

What this means

The bank does not allow this transaction on this card. The customer should try another card or contact their bank.

Why it happens

Transaction type not allowed

The card or account does not allow this transaction type (e.g. recurring, international, card-not-present).

Merchant or category restriction

The issuer restricts this merchant category or merchant type.

Card product limits

The card product (e.g. prepaid, corporate) has transaction restrictions.

Generic issuer decline

The issuer declined and the network returned transaction_not_allowed.

MRR Impact

Charges fail until the customer uses an allowed method; offering alternatives protects MRR.

Transaction not allowed requires another method; update flow and alternatives protect MRR.

Avg. recovery rate: Good when customer can use another card or method; retries sometimes help.

Urgency: within 24h

How to fix it

  1. 1

    Do not retry same card blindly

    Retrying the same card may keep failing. Include in retry logic with backoff, but also prompt for another payment method early.

  2. 2

    Show generic message

    Tell the customer their card does not allow this transaction and they should try another card or contact their card issuer.

  3. 3

    Offer alternative payment method

    Provide a direct way to add another card or choose a different payment method (e.g. ACH, different card).

  4. 4

    Send dunning email

    Email that the payment could not be completed and ask them to update their payment method or contact their bank.

  5. 5

    Log and track

    Track transaction_not_allowed; compare with not_permitted and card_not_supported for product insights.

Detect transaction_not_allowed automatically

Track transaction_not_allowed; consider promoting alternative payment methods.

Monitor your Stripe health free →

FAQ

What does Stripe transaction_not_allowed mean?
transaction_not_allowed means the card was declined for an unknown reason; the issuer may not allow this type of transaction. The customer should contact their card issuer. For SaaS, show a generic message and do not retry the same card blindly; prompt for another payment method or bank contact.
Should I retry transaction_not_allowed?
You can try retries with backoff; some declines are temporary. If retries fail, ask the customer to use another card or contact their bank. Do not expose the raw code.
How do I message this?
Use a generic message: 'Your card was declined. This transaction may not be allowed on your card. Please try another card or contact your card issuer.'
Does transaction_not_allowed affect MRR?
Yes. Offering an alternative payment method and clear instructions helps recovery.

Related errors