Stripe · Decline codes
What does the Stripe offline_pin_required decline code mean?
Checked
The Stripe decline code offline_pin_required means the card was declined because it requires a PIN. Stripe's fix is for the customer to try again by inserting the card into the reader and entering the PIN. It belongs to in-person payments on a card reader, so an online store should almost never see it. Simply retrying a tap or swipe will not work.
- Type
- Authentication needed (in person)
- Who declined
- The card's bank
- Retry
- Yes, by inserting the card and entering the PIN
- Shopper action
- Insert the card and type the PIN
- Merchant action
- Prompt for chip and PIN on the reader
What PlatformDTC does
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 have no PIN entry, 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
Some cards and banks require the cardholder to prove they are present with a PIN, for example after several contactless taps in a row. The reader must read the chip and take the PIN.
What the shopper can do
At a till, insert the card instead of tapping and enter the PIN. Online, use a different card or wallet.
For developers
This decline_code applies to card-present payments (Stripe Terminal). Start a new payment with the card inserted so the reader can collect the PIN. It is not expected on card-not-present PaymentIntents.
Frequently asked questions
- Can an online store get offline_pin_required?
- It is meant for card readers. An online checkout cannot collect a PIN, so a shopper seeing it online should use another card.
- What is the difference with online_or_offline_pin_required?
- With online_or_offline_pin_required, a reader that supports Online PIN can ask for the PIN without a new transaction. offline_pin_required always needs the card inserted and the PIN entered.
Sources
- Stripe decline codes — Stripe
Related
- online_or_offline_pin_required — In-person only: the card needs a PIN, by Online PIN or chip and PIN.
- incorrect_pin — The PIN entered on a card reader is wrong.
- pin_try_exceeded — Too many wrong PIN attempts; the customer must use another card or method.
- mobile_device_authentication_required — The payment needs authentication; the customer should tap their phone again.
- 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.