Checkout Flow

A complete walkthrough of the CoverPay BNPL checkout — from when the user clicks "Pay Later" to when you receive a confirmed payment token.

Flow Overview

1
User clicks "Pay Later"
Your app triggers CoverPay Link to open. This can be a button click, checkout step, or any user action.
2
Eligibility check
CoverPay verifies the user passes all 5 checks: age, residency, KYC, sanctions, and terms acceptance. If any check fails, the user sees an appropriate error.
3
Terms acceptance
First-time users are presented with 4 legal documents to accept. Returning users who already accepted skip this step.
4
Provider offers
The smart router queries all available providers, scores them, and presents ranked offers to the user.
5
User selects a plan
The user chooses a provider and installment plan (Pay in 4, monthly, etc.). Some providers require additional authentication.
6
Payment token issued
CoverPay returns a one-time payment token to your app. The checkout modal closes.
7
Order completion
Your server uses the payment token to finalize the order. Webhooks notify you of subsequent payment events.

Smart Router

The smart router scores each provider on 5 factors to maximize approval rates:

FactorWeightDescription
Availability40%Is the amount within the provider's min/max range?
APR25%Lower APR scores higher — better for the customer
Approval Rate20%Historical approval likelihood for similar profiles
Preference10%Your business-configured provider priority
Historical5%Past performance for this customer segment

Payment Token

The payment token (pt_...) is a one-time credential that represents the customer's BNPL authorization. Send it to your server to complete the order.

Token properties

Format:pt_{provider}_{random}
Expiry:15 minutes
Usage:Single use only
Contains:Provider, plan type, amount, customer reference

After Checkout

Once the checkout completes, listen for webhook events to track payment status:

checkout.completedCheckout succeeded — fulfill the order
payment.successAn installment payment was collected
payment.failedAn installment payment failed — provider handles retry
loan.completedAll installments paid — loan closed