When a payment fails, you get a code, not an explanation. do_not_honor. 05. 2046. A chargeback arrives as 10.4 or 4837. Most store owners look it up, find a table with one line per code, and still don't know whether to retry the card, what to tell the customer, or what evidence the bank wants.
Today platformdtc.com has a free payments library that answers those questions in plain words: 840 pages covering decline codes, chargeback reason codes, card fees by country, payment methods and merchant category codes. No sign-up, nothing to install.
What is in it
| Section | What it covers | Pages |
|---|---|---|
| Decline codes | Stripe, card bank (issuer) codes, PayPal, Braintree, Authorize.Net, Adyen, Checkout.com | 448 |
| Chargeback reason codes | Visa, Mastercard, American Express, Discover, PayPal | 94 |
| Processing fees by country | Stripe in 45 countries, PayPal in 21, Shopify Payments in 20, Square in 8 | 94 |
| Payment methods | 14 wallets, 11 pay-later options, 27 bank and local methods, 10 card networks, 47 countries | 109 |
| Merchant category codes (MCC) | 95 codes online stores use, in 12 groups | 95 |
What every page tells you
Each page explains one thing and follows the same order, so you can find the answer without reading the whole page.
- What it means, in one short paragraph.
- The quick facts: for a decline, whether it is a soft or hard decline, who refused, whether a retry is allowed, and what the shopper and the store should do. For a chargeback, how long the bank has to file, how long you have to answer, and the evidence that wins. For a fee page, every rate and a worked month.
- What PlatformDTC does with it. Our checkout and subscription renewals act on these codes, so each page says exactly what happens on our platform, including where we don't support something.
- Sources, linked, with the date we checked them. Every page in this first release was checked on 31 October 2026.
- Technical detail sits at the bottom under For developers, out of the way.
Five pages worth bookmarking
Stripe do_not_honor. The card's bank refused and didn't say why. One retry at most, after a gap or after the customer has called the bank, then ask for another way to pay. On PlatformDTC, a subscription renewal with Smart retry on gets one retry 48 to 72 hours later. If the bank's real answer underneath is Visa code 59 (suspected fraud), it is never retried.
Stripe insufficient_funds. The card is fine; the money isn't there right now. At checkout the shopper is asked to try another card. On renewals, PlatformDTC retries on the subscriber's next likely payday for their country, at 14:00 their time, up to 6 attempts.
Visa 10.4, card-absent fraud. The cardholder says they didn't make an online purchase. The bank has 120 days from processing to file. You can beat it with Visa Compelling Evidence 3.0: two earlier undisputed purchases on the same card that match on IP address or device, plus one more detail. On Stripe payments, PlatformDTC looks up those earlier purchases and adds two to your response for you.
Shopify Payments fees in the United States. Per online payment with a standard card: 2.9% + $0.30 on Basic, 2.7% + $0.30 on Grow, 2.5% + $0.30 on Advanced and 2.25% + $0.30 on Plus. International cards add 1%. Using a payment provider other than Shopify Payments adds Shopify's own fee of 2%, 1%, 0.6% or 0.2%, by plan. Read from Shopify's pricing page on 31 October 2026.
Klarna. How a shopper pays, which countries and currencies work through Stripe, and what happens to your money: the store gets the full order amount minus fees, and Klarna collects the instalments. Refunds are possible up to 180 days after payment. PlatformDTC checkout offers Klarna on one-time orders, on by default for stores on PlatformDTC Payments. Not on subscriptions.
Why "what we do" is on every page
Most code lists stop at the meaning. The part that costs a store money is what happens next. Retry a card too often and it wastes attempts, can cost you fees, and card banks may treat the extra tries as possible fraud, which raises declines on good payments too. Give up too early and you lose a subscriber whose card would have worked after payday.
Card networks set the limits. Visa sorts declines into four groups: after a decline in the first group (the card will never be approved) the same card must never be charged again, and the other three groups allow up to 20 attempts in 30 days. Mastercard sends a code with its declines that can mean "do not try again". The decline pages say which group a code is in wherever Visa lists it.
Each page also shows what our own retry rules do: 6 attempts for low funds (7 on PayPal), 4 for a temporary bank error, 2 for "do not honor". A lost, stolen or closed card stops at the first decline and the customer is asked for a new one. Whatever the setting, PlatformDTC counts declines per card and pauses before Visa's or Mastercard's limits are reached.
Writing our own behaviour onto each page also keeps us honest. Where PlatformDTC doesn't offer a method or handle a case, the page says so.
Eight languages
The library is in English, French, Spanish, German, Portuguese, Italian, Dutch and Chinese. Every page links to its versions in the other languages, and the numbers are the same in each.
Also today: who shows which way to pay
Alongside the library we published the first DTC Payment Methods Index, a monthly count of which ways to pay online stores show, from scans of 15,471,206 stores. The findings, and how far you can trust them, are in this post.
Start at any hub: decline codes, chargeback reason codes, fees, payment methods or MCC codes.