What this audit checks
Authentication & access
- Data Services client (data_client_id / data_client_secret) present; without it preview and audit cards hydrate empty
- Smart Checkout client_credentials token issues against accounts.vivapayments.com with scope urn:viva:payments:core:api:redirectcheckout
- Transactions API Basic-auth pair (merchant_id / api_key) valid for recurring charge retrieve and cancel
- Mode (live vs demo) matches the merchant’s production source_code; live connection must not point at demo-api.vivapayments.com
- source_code resolves to an active store and appears on returned transactions
Transaction health
- Authorisation success rate above 92% baseline over the 30-day window
- Decline reason mix - no single soft refusal reason above 25% of declines
- Card-not-present share separated from card-present so a CNP success dip is not masked by terminal volume
- 3DS abandonment rate below 25%, otherwise review the challenge flow and frictionless routing
- Top declining issuers (BIN-level) and top decline reasons surfaced for a recovery playbook
Disputes & chargebacks
- Chargeback rate below 0.9% (90% of the Visa 1% cap) on a 90-day window
- Dispute rate below 2% and trending flat or down
- Open disputes answered before the acquirer evidence deadline
- Top dispute reason codes (fraudulent / product_not_received) flagged for prevention
- Card-vs-customer country mismatch rate not surging as a leading fraud indicator
Settlement & payouts
- Avg settlement time within Viva’s expected schedule for the merchant’s country
- No payout pending beyond 5 days per source_code
- Payout amounts reconcile against captured-minus-refunded transaction value
- No source_code with a settlement backlog while sibling source codes settle normally
- Currency of payout matches the transaction currency mix for that source_code
Cross-channel revenue protection
- Decline-driven checkout-funnel drop (sibling = shopify/bigcommerce/adobe.checkout_step_completion_rate falling concurrent with viva.decline_rate spike)
- Dispute-to-fulfilment correlation (sibling = shipbob/commerce.shipment_delayed_orders converting to product_not_received disputes)
- Recoverable revenue forecast (soft-decline value x sibling.avg_repurchase_rate x historical retry success rate)
- Chargeback forecast (dispute count x historical dispute-to-chargeback rate x avg dispute amount)
Severity thresholds
| Signal | Warn | Critical |
|---|---|---|
decline_rate | 6 | 8 |
success_rate | 92 | - |
dispute_rate | 1 | 2 |
chargeback_rate | 0.9 | 1.0 |
payout_age_days | 3 | 5 |
threeds_abandon_rate | 25 | 40 |
country_mismatch_rate | 5 | 10 |
Data sources
POST https://accounts.vivapayments.com/connect/token- OAuth2 client_credentials token for core + Data Services clients (Basic-authed token request)POST https://api.vivapayments.com/dataservices/v2/transactions/Search- Transaction search that hydrates cards + audit findings (status, decline reason, 3DS, card/customer country, BIN)GET https://api.vivapayments.com/checkout/v2/transactions/{transactionId}- Single transaction detail: amount, currency, status, payment methodGET https://api.vivapayments.com/checkout/v2/orders/{orderCode}- Order / payment order state for checkout funnel correlationGET https://api.vivapayments.com/api/transactions/{transactionId}/refunds- Refunds and reversals against a transactionGET https://api.vivapayments.com/payouts/v1/{sourceCode}- Settlement / payout schedule, status and age per source_codeGET https://api.vivapayments.com/api/messages/me- Credential / connection liveness probe for the core client