What this audit checks
Authentication & access
- API username/password pair valid (Basic-auth probe on /ordermanagement/v1/orders?count=1)
- Region + environment match intent (api.klarna.com production vs api.playground.klarna.com)
- Credential has read scope for orders, settlements and disputes
Transaction health
- Success (approval) rate below 90% or a -3pp drop vs prior period
- Decline rate above 15% blended (and which Klarna decline reasons dominate)
- Address-verification declines elevated (the only merchant-actionable reason - improve checkout address validation)
- Klarna-app / email-OTP authentication abandonment above 30% (desktop email-OTP friction)
Refunds & disputes
- Refund rate above 10% of volume (BNPL try-and-return drift)
- Buyer-protection (chargeback) rate above 0.9%
- Dispute rate above 1%
- Disputes approaching respond_by deadline with no evidence submitted
Settlement timing
- Average settlement time above the configured-schedule norm (>3 days daily / >8 days weekly)
- Oldest pending payout above 5 days
- Pending payout balance growing while volume is flat (schedule slowed or reserve hold increased)
Cross-channel: BNPL-to-revenue (the killer area)
- Klarna captured volume reconciled as a share of commerce-sibling order revenue; mismatch > 2% (reconciliation gap)
- Klarna decline/abandon spike during a checkout change or campaign push (paying for traffic that can’t pay via BNPL)
- Klarna refund spike correlated with a commerce returns spike in the same window
- Klarna AOV lift vs card-sibling AOV collapsing (Slice it adoption dropped - checkout UX regression)
Data sources
GET https://{api_host}/ordermanagement/v1/orders- Volume / count / AOV / success / decline / method mix / decline reasonsGET https://{api_host}/settlements/v1/payouts- Settlement timing / pending payout age / pending balanceGET https://{api_host}/disputes/v2/disputes- Dispute rate / buyer-protection (chargeback) rate / reason mix / respond-by