Stripe · Decline codes
What does the Stripe online_or_offline_pin_required decline code mean?
Checked
The Stripe decline code online_or_offline_pin_required means the card was declined because it requires a PIN. If the card reader supports Online PIN, Stripe says to prompt for the PIN without creating a new transaction; if not, the customer must insert the card and enter the PIN. It is an in-person payments code, so online stores rarely meet it.
- Type
- Authentication needed (in person)
- Who declined
- The card's bank
- Retry
- Yes, with the PIN
- Shopper action
- Enter the PIN on the reader, or insert the card
- Merchant action
- Use a reader that supports Online PIN, or ask for chip and PIN
What PlatformDTC does
online_or_offline_pin_required is never moved to a backup processor at checkout, and the shopper is asked for another card. Because PlatformDTC's online checkout and renewals cannot take a PIN, a renewal declined this way is never retried, on the fixed schedule or with Smart retry: the subscription is held past due and the customer gets a one-click link to add a different card.
Why it happens
The bank wants proof the cardholder is present, so it asks for a PIN. This often follows a run of contactless payments without one.
What the shopper can do
Enter the PIN when the reader asks, or insert the card and enter it. When buying online, choose a different card or a wallet.
For developers
On Stripe Terminal readers that support Online PIN, collect the PIN on the same payment rather than creating a new one. Readers without Online PIN must restart the payment with the card inserted. Not expected for card-not-present PaymentIntents.
Frequently asked questions
- Do I need to create a new payment for online_or_offline_pin_required?
- Not if the reader supports Online PIN: Stripe says to prompt for the PIN without creating a new transaction. Otherwise the customer must insert the card and try again.
- Why did this code appear on a contactless tap?
- The bank asked for a PIN before approving more contactless payments. Entering the PIN completes the payment.
Sources
- Stripe decline codes — Stripe
Related
- offline_pin_required — In-person only: the card needs to be inserted and a PIN entered.
- incorrect_pin — The PIN entered on a card reader is wrong.
- invalid_pin — The PIN entered is incorrect.
- pin_try_exceeded — Too many wrong PIN attempts; the customer must use another card or method.
- pickup_card — The card can't be used for this payment; it may have been reported lost or stolen.
- processing_error — An error occurred while processing the card. Usually temporary.
- reenter_transaction — The bank couldn't process the payment for an unknown reason; try it again.
- restricted_card — The card can't be used for this payment; it may have been reported lost or stolen.