Skip to main content
Buy Now, Pay Later in one flow: hold the customer’s down-payment in escrow, open a wallet and link a loan to it, disburse into that wallet, then capture the down-payment. This is the production-verified path.
Requires an active customer (KYC). Bearer token from /generate-token; re-token on 401.

Flow

1

Open the customer's wallet

Use a published wallet product code from GET /v1/wms/products.
2

Reserve the down-payment

With the wallet funded (see Collections), place a hold for the down-payment.
3

Create the loan, linked to the wallet

Pass linkWalletId so disbursements and repayments route through this wallet.
Use a published loan product code from GET /v1/lms/products.
4

Approve and disburse into the wallet

5

Capture the down-payment

With the goods delivered / order confirmed, commit the hold.
If the order falls through instead, POST /v1/wms/transactions/$TX_ID/release.

Manage repayments

Servicing a BNPL loan is identical to the Lending recipe — the loan is the system of record whether or not a wallet is linked. Two ways to settle each installment:
1

Collect from the customer

Trigger a mobile collection and wait for COMPLETED — see Payment collections. You get back a gatewayReference (your transactionId).
2

Record the repayment (verified)

Post the collected payment against the loan. Bridge re-verifies it on the gateway before touching the ledger; idempotent on gatewayReference.
Already reconciled the payment yourself? Record it directly with /repayments using a receiptNumber as the idempotency key.
3

Track the schedule

Watch installments move from due to paid as repayments post.

Auto-sweep (when available)

Because the loan is linked to a wallet, the platform can attach a standing instruction that sweeps each due installment straight from the wallet — so you just keep the wallet funded (via Collections) and never call a repayment endpoint. This auto-sweep is provisioned by the one-call createWalletProductCode shortcut, which is temporarily unavailable pending a platform fix. Until then, settle installments explicitly with submit-payment as above — same result, one extra call.
Disbursed loans can’t be cleanly un-disbursed. If a later step fails after disbursement, resolve forward (release the hold, contact Support) rather than rolling back the loan.