Buy Now, Pay Later

Configure and manage Buy Now, Pay Later

Buy Now, Pay Later

Buy Now, Pay Later (BNPL) lets a customer split a purchase into interest-free monthly instalments over two to six months, charged to a Visa or Mastercard they already hold. There is no new credit product for the customer to apply for and no card for them to be issued.

You are paid according to the settlement option on your account — either the full amount up front, or in step with the customer’s repayments.

Introduction

BNPL raises conversion on higher-value baskets by turning a single large charge into a schedule the customer chooses at checkout. CrissCross handles the instalment plan, the repayment collection and the credit exposure; you receive a completed payment and fulfil the order as normal.

Mechanically it is a redirect payment method. The customer leaves your checkout for the CrissCross BNPL flow, chooses a plan, supplies the card that future instalments will be collected from, authorises the first charge, and returns. That makes it a good fit for any integration that already handles a redirect — including Pay By Bank.

Pre-requisites

  • A CrissCross integration:
    You have integrated with CrissCross using the hosted checkout or the server-to-server API.

  • Payment method enabled:
    BNPL is enabled on your account, and your settlement option is agreed. BNPL is not self-serve — contact your CrissCross representative to enable it.

  • A settlement option chosen:
    Upfront or instalment. See Settlement options below. This is a commercial decision and changes your fees.

  • An HTTPS redirect URL:
    The customer returns to your redirectUrl after the BNPL flow, so the session must carry one.

BNPL needs no front-end SDK and no additional configuration. Unlike Digital Wallets, there is no device credential to capture and no payment domain to verify — the customer completes the plan on a CrissCross-hosted page.

Settlement options

BNPL is the one payment method where when you get paid is a choice you make, and it is worth deciding deliberately because it changes both your cash flow and your fees.

Upfront settlementInstalment settlement
When you are paidThe full purchase amount, once the customer completes the BNPL flowIn instalments, as the customer makes each monthly repayment
FeesHigherLower
Collection riskCarried by CrissCrossCarried by CrissCross
Best forInventory replenishment, operating expenses, anything where cash flow matters more than marginHigher-margin goods, or where you can carry the receivable

Your option is set on your account, not per payment — you cannot vary it per session or per basket. It is visible in Settlement Reporting, where an instalment-settled BNPL payment produces a settlement entry per repayment rather than one entry for the order.

Neither option changes what the customer experiences or what they pay.

Ways to integrate BNPL with CrissCross

  1. CrissCross hosted checkout
    The simplest path, with no BNPL-specific work:

    • CrissCross presents BNPL on the checkout page when it is enabled and the session is eligible.
    • CrissCross sends the customer into the BNPL flow and brings them back.
    • Your integration is unchanged: create a session, redirect to paymentLink, fulfil on the webhook.
  2. Server-to-server integration
    Initiate the payment yourself and handle the redirect. BNPL uses the same authState redirect pattern as any other CrissCross method that needs the customer to go somewhere. See BNPL Direct Integration.

BNPL is not available through the CrissCross SDK, because there is nothing for a client-side SDK to capture.

Retrieving available payment methods

Calling GET /v1/payment/available-methods with a sessionId reports whether BNPL is eligible for that session:

{
"success": true,
"availableMethods": [
{
"type": "bnpl",
"name": "Buy Now, Pay Later",
"requiredInput": [],
"captureCredentialsExternally": true
},
...other methods...
]
}

requiredInput is empty and captureCredentialsExternally is true: the plan selection and the card are collected in the BNPL flow, not by a form on your site.

BNPL appears only when it is enabled on your account and the session’s amount, currency and payer location are eligible. Amount limits apply — BNPL is aimed at higher-value baskets and has both a floor and a ceiling — so a session below or above them will not offer it. Confirm your limits with your CrissCross representative, and always read this endpoint rather than assuming.

Handling the payment

On the hosted checkout, redirect the customer to paymentLink exactly as returned. From there:

  1. The customer selects Buy Now, Pay Later.
  2. They are taken into the CrissCross BNPL flow, where they choose an instalment term between two and six months, supply the card future instalments will be collected from, and authorise the first charge.
  3. They are returned to your redirectUrl with ?status=completed, ?status=failed or ?status=cancelled appended.
  4. The webhook carries the authoritative outcome. Fulfil on the webhook. See Webhook Events.

When a customer is not approved

This is the failure mode BNPL adds, and the one most worth designing for. A customer can enter the BNPL flow and not complete it, because BNPL involves an affordability assessment that a card payment does not:

  • They may not be approved for the instalment plan.
  • They may decline the terms once they see them.
  • They may abandon the flow.

All three return the customer to you without a completed payment, and none of them is a card decline. Treat them as an incomplete checkout, not an error: keep the basket, keep your other payment methods visible, and do not present the outcome as a rejection of the customer. A BNPL session that was not completed can still be paid by another method.

A session left untouched eventually expires, which also produces a webhook.

Reconciliation and reporting

  • paymentMethodId is bnpl on the transaction and in the webhook payload.
  • The instalment term the customer chose is reported on the transaction, so you can see whether a basket converted on a two-month or a six-month plan.
  • Under upfront settlement, one payment produces one settlement entry, as with any card payment.
  • Under instalment settlement, one payment produces a settlement entry per repayment, spread over the plan. Reconciling an order to a single settlement line will not work — match on the transaction, not the settlement entry. See Settlement Reporting.

Refunds

BNPL payments refund through the same endpoint as every other method, with no BNPL-specific fields:

  • Full and partial refunds are both supported, up to the remaining refundable balance.
  • Funds return to the same destination the payment came from — the card the customer supplied in the BNPL flow. You cannot redirect a BNPL refund to another destination or another rail.
  • A refund does not require the customer to do anything, and can be issued before the plan has finished.

A part-paid plan. Your obligation ends at the refund request: you do not signal, schedule or pro-rate anything against the customer’s remaining instalments, and the refund amount you send is the purchase amount you are reversing, not an instalment figure. How the remaining plan is then adjusted is settled between CrissCross and the customer. Confirm the exact treatment with your CrissCross representative if your support team will field questions about it.

See Full and Partial Refunds for the request shape, refund states and notifications.

Supported regions / countries

BNPL is available in South Africa, for ZAR sessions, to payers with payerDetails.location of ZAF.

As with every payment method, availability also depends on your account configuration and the session’s amount — so resolve it at runtime from GET /v1/payment/available-methods rather than inferring it from the market. Contact your CrissCross representative about availability in other markets.

Supported workflows and services

Workflow / ServiceSupported
Available via CrissCross hosted checkout✔️ Yes
Available via CrissCross SDK✖️ No
Available via CrissCross server-to-server API✔️ Yes
Instant Capture✔️ Yes
Cancel / Void✔️ Yes
Refund / Reverse✔️ Yes
Delayed / Manual Capture✖️ No
Save Instruments✖️ No
Merchant Initiated Transaction (MIT)✖️ No
InteroperabilityN/A

The card a customer supplies for their instalments is held for that plan only. It is not stored as a reusable instrument and cannot be charged for a later order — use Card if you need that.

Ensuring a seamless and secure payment experience

  • Show BNPL where it changes the decision:
    BNPL earns its fee on baskets large enough that the total is the objection. Surfacing the instalment option on the product page, not just at checkout, is where the conversion comes from.

  • Never quote a plan you have not confirmed:
    Terms and eligibility are resolved for the specific session. Do not hard-code “from R500/month” against a basket without reading eligibility first.

  • Design for the not-approved path:
    A customer who is declined for a plan is still a customer. Return them to a checkout that still works.

  • Fulfil on the webhook:
    As with every CrissCross payment, the redirect tells you the customer came back; the webhook tells you the money moved.

Additional resources and next steps