ISO 8583 Decline Explainer

Traceable explanations for synthetic payment authorization responses.

How it works

POST /explain-decline
Validate input
Build audit trail
Explain response code
Return JSON + trail
Send a synthetic ISO 8583 authorization response and get back a plain-English explanation with an audit trail showing exactly which fields were used. Each explanation includes an uncertainty level (low/medium/high) based on how specific the response code is.

The service uses a public DE39 response code reference for rule-based explanations. All data is synthetic — no real cardholder or transaction data is used.

Try an example

DE39 = 05
Generic decline (Do not honor)
DE39 = 51
Insufficient funds
DE39 = 54
Expired card
DE39 = 43
Stolen card
DE39 = 55
Incorrect PIN
DE39 = 91
Issuer unavailable
Request POST
Ready
Response
Click "Send" or pick an example to see the explanation.

cURL examples

Copy and paste into your terminal.

curl -s -X POST /explain-decline \ -H 'Content-Type: application/json' \ -d '{ "mti": "0110", "responseCode": "05", "amount": 127.50, "currency": "USD", "merchantCategory": "travel", "country": "AR", "syntheticCustomerContext": { "accountAgeDays": 400, "recentDeclines": 2, "riskLevel": "medium" } }'
curl -s -X POST /explain-decline \ -H 'Content-Type: application/json' \ -d '{ "mti": "0210", "responseCode": "51", "amount": 500.00, "currency": "EUR", "merchantCategory": "retail", "country": "DE" }'