Open source · Apache-2.0 · 40 providers
Understand what went wrong with your payments.
Open-source payment error decoder and transaction flow visualizer. Analyze supported PSP responses, webhooks and payment events directly in your browser.
No signup. No API keys. No payment processing. Local-first analysis.
Decoded error
Stripe · card_declined
- decline_code
- insufficient_funds
- Category
- Insufficient funds
- Retry
- Customer action required
Ask the customer to use an alternative payment method or try again later.
Paste it. Read it.
Paste an API error, a webhook body or an event log. PandaPayLens detects the provider and format, decodes errors, groups related events into transactions and runs deterministic checks. It shows what the records say and states clearly what they cannot prove, such as settlement or whether your application processed a webhook twice.
- Paste JSON or form data, or drop files.
- Analyze. The provider and format are detected automatically.
- Read the decoded error, the timeline and the findings.
- Export a JSON or Markdown report with identifiers masked.
{
"error": {
"type": "card_error",
"code": "card_declined",
"decline_code": "insufficient_funds"
}
}What it does
Payment error decoder
Error, decline and refusal codes explained with the next step, retry guidance, a confidence level and a link to the provider's documentation.
Transaction timeline
Webhooks and API objects grouped into transactions by explicit identifiers. Missing events are never invented.
Deterministic findings
Duplicate deliveries, out-of-order arrival, conflicting copies, state contradictions and possible duplicate charges, each with evidence and limitations.
Local-first privacy
Everything runs in your browser. Payloads are not uploaded, stored, logged or sent to analytics. Sensitive fields are hidden.
Many input formats
JSON, JSON Lines, URL-encoded notifications and raw HTTP requests or responses copied from your logs.
CLI and library
The same engine runs offline in Node.js: check webhook logs in CI or use the TypeScript packages in your own tools.
Provider support
All 42 providers on the roadmapA provider is listed here only when its adapter is implemented and tested. Limited means it works with documented gaps.
| Provider | Overall | Errors | Responses | Webhooks | Timeline |
|---|---|---|---|---|---|
| Stripe | supported | supported | supported | supported | supported |
| Adyen | supported | supported | supported | supported | supported |
| payabl. | limited | supported | supported | limited | limited |
| Checkout.com | limited | supported | supported | limited | limited |
| Braintree | limited | supported | supported | limited | limited |
| PayPal | limited | supported | supported | limited | limited |
| Mollie | limited | limited | supported | limited | limited |
| Square | limited | supported | supported | supported | limited |
| Flutterwave | limited | limited | supported | limited | limited |
| Paystack | limited | limited | supported | limited | limited |
| Razorpay | limited | supported | supported | supported | limited |
| PayU India | limited | supported | limited | limited | limited |
| BlueSnap | limited | supported | limited | limited | limited |
| EBANX | limited | supported | supported | limited | limited |
| dLocal | limited | limited | supported | limited | limited |
| Rapyd | limited | supported | limited | limited | limited |
| Airwallex | limited | supported | limited | limited | limited |
| Paysafe | limited | supported | limited | limited | limited |
| Nuvei | limited | supported | limited | limited | limited |
| Authorize.net | limited | supported | limited | limited | limited |
| Cybersource | limited | supported | supported | limited | limited |
| Worldpay | limited | supported | supported | limited | limited |
| Trustly | limited | limited | limited | limited | limited |
| DECTA | limited | supported | limited | limited | limited |
| Inpay | limited | limited | limited | limited | limited |
| Finrax | limited | limited | limited | limited | limited |
| AstroPay | limited | limited | supported | limited | limited |
| eZeeWallet | limited | limited | limited | limited | experimental |
| Skrill | limited | supported | limited | limited | limited |
| MiFinity | limited | limited | limited | limited | limited |
| NMI | limited | supported | supported | limited | limited |
| Paymentwall | limited | limited | limited | supported | limited |
| Ecommpay | limited | supported | supported | limited | limited |
| emerchantpay | limited | supported | limited | limited | limited |
| CCBill | limited | limited | limited | limited | limited |
| Segpay | limited | limited | unsupported | limited | limited |
| Trust Payments | limited | supported | supported | limited | limited |
| PXP Financial | limited | supported | supported | limited | limited |
| Verotel | limited | limited | limited | limited | limited |
| NETbilling | limited | limited | supported | experimental | limited |
Your payment data stays on your machine
Analysis runs in a Web Worker in your browser. The page's Content Security Policy only allows requests to this site, nothing you paste is stored, and reloading clears it. Card data, secrets and contact details are hidden in the inspector and never exported.
How privacy is enforced and tested- No account and no provider API keys.
- No analytics, session replay or third-party scripts.
- Pasted webhooks are never treated as verified.
- Reports describe the supplied records only; they do not confirm settlement.
Run it yourself
Self-host the analyzer without a database, or use the same engine from the command line. Exit codes let you fail a CI check on findings above a severity you choose.
git clone https://github.com/ratomirjovanovic/PandaPayLens.git
cd PandaPayLens
pnpm install
pnpm dev:pages
# CLI
pnpm build:packages
node packages/cli/dist/bin.js analyze events.jsonHelp add the next provider
Every adapter is built from official documentation, with synthetic fixtures and tests. The contribution guide walks through research, implementation and the definition of done. Bug reports, fixtures and documentation fixes are just as welcome.
What it is not
PandaPayLens does not process payments, connect to provider accounts, receive live webhooks, verify webhook signatures or confirm that money settled. It is not affiliated with any payment provider.