Introduction: What is BNPL and Why It Matters
Buy now, pay later on Lendsqr is not a separate product. It is the standard loan application flow, reconfigured through a settings sheet to look and feel like a checkout experience. A lender fills in that settings sheet on their loan product, which controls what each screen is called, which screens appear at all, and whether borrowers can pay immediately or borrow and repay over time. Turn the settings on and the standard loan machinery presents itself as a purchase flow. Turn them off and it is an ordinary loan application again. Nothing behind the scenes is duplicated or rebuilt.
This makes it practical for merchant partnerships: a partner can drop an invitation link into their own checkout, and the borrower experiences something that feels like paying for a purchase, while Lendsqr’s normal credit checks, offer letter, and repayment setup run underneath.
Introduction
Use case: A Nigerian fintech lender partners with an electronics retailer. When a customer picks an item at checkout, the retailer sends them a buy now, pay later link by SMS. The customer opens the link, completes identity verification, and submits a loan application — all without leaving what feels like a shopping experience. The lender sees the loan request arrive in their admin console for approval, just like any other request. The branding says “checkout”; the underlying machinery is unchanged.
This is what buy now, pay later on Lendsqr makes possible: a fully branded checkout experience built on the same loan infrastructure lenders already use.
Read more: How Lendsqr’s buy now, pay later works for merchants and lenders
How the borrower moves through the flow
The buy now, pay later flow is split into two parts: sign-up and the loan application. Understanding this sequence helps you know what to configure and what your borrowers will experience.
Part 1: Sign-up
The sign-up sequence depends on who the borrower is and what the lender has configured:
- Choose a product or amount — shown only if the lender has configured loan offerings
- Enter phone number — always shown
- Then one of: log in as a returning borrower, complete a short identity form if passwordless sign-up is enabled, or create a full account as a new borrower
- Selfie or liveness check — only if switched on in the settings
- Add a bank account — only if switched on in the settings
Part 2: The application
Loan details → complete profile → next of kin → national identity number check → checklist → personal information → employment information → extra questions → confirm details → processing fee → equity contribution → loan offer → offer breakdown → view and sign offer letter → choose repayment method → submit → success
Steps appear only when the lender has configured them. Two things apply regardless of configuration: next of kin and guarantor steps are always skipped in buy now, pay later because they do not fit a checkout experience, and the progress sidebar in the borrower app always reflects the real configuration. Checking the sidebar before walking the full flow is the fastest way to verify whether a setting took effect.
Pay later versus pay now
If the lender enables both options, the borrower sees a choice on the loan details screen. If only one is enabled, there is no choice and it is applied automatically.
With pay later, the borrower completes the normal loan application, an offer is generated, and the loan request goes to the lender for approval. With pay now, the flow skips ahead to card selection, asks for a transaction pin and a one-time password, and takes a card payment directly. No loan is created.
This is the most important thing to understand about the pay now option: it is a purchase, not a loan. Nothing appears in the lender’s loan queue afterwards. If you are testing and wondering why no loan request showed up, check which option the borrower selected.
When to use buy now, pay later
Buy now, pay later is most useful when you want to extend credit directly at the point of sale. Common scenarios include:
- Embedding financing into a merchant partner’s checkout so borrowers never feel like they are applying for a loan
- Offering borrowers a choice between paying in full immediately or spreading payments over time
- Serving specific purchase categories such as electronics, insurance renewals, school fees, or subscriptions
- Reaching borrowers through a channel that feels like commerce rather than a traditional credit application
Understanding the configuration settings
All buy now, pay later behaviour is controlled through the bnpl-configurations attribute on your loan product’s settings tab. Before editing, it helps to understand what each section does.
| Section | Key/Value | Explanation |
|---|---|---|
bnpl.enabled | true / false | Turns buy now, pay later on or off for the product |
bnpl.application_successful_message | String | Message shown to the borrower when their application is approved |
bnpl.application_failed_message | String | Message shown when the loan application is declined |
bnpl.pay_now.enabled | true / false | Enables the “Pay Now” (full payment) option. |
bnpl.pay_now.button_label | String | Text displayed on the “Pay Now” button (e.g., “Pay in Full”). |
bnpl.pay_now.switch_to_pay_later | true / false | If true, lets the borrower switch to the installments option from the pay now screen |
bnpl.pay_now.switch_to_pay_later_label | String | Label for the switch-to-installments option |
bnpl.pay_now.payment_method | String | Payment method for pay now (e.g. bank) |
bnpl.pay_later.enabled | true / false | Enables the “Pay Later” (installments) option. |
bnpl.pay_later.button_label | String | Text for the Pay Later button (e.g., “Pay in Installments”). |
bnpl.pay_later.switch_to_pay_now | true / false | If true, allows the borrower to switch back to paying in full |
bnpl.pay_later.switch_to_pay_now_label | String | Label for switching back to the full payment option |
bnpl.pay_later.payment_method | String | Payment method for installments (e.g., bank). |
product_selection | { label, description, enabled } | Controls the opening screen where the borrower chooses an amount or product |
account_information | { label, description, enabled } | Controls the registration or login screen |
loan_request_information | { label, description, enabled } | Controls the screen where the borrower specifies loan amount and duration |
bank_account_information | { label, description, enabled } | Controls the bank account capture screen |
identity_validation | { label, description, enabled } | Controls the identity verification step |
selfie_validation | { label, description, enabled } | Controls the liveness check step |
terms_review | { label, description, enabled } | Controls the loan terms review screen |
authentication_setup | { label, description, enabled } | Controls the password and pin setup screen |
transaction_confirmation | { label, description, enabled } | Controls the final confirmation screen before submission |
equity_contribution | { label, description, enabled } | Controls the initial upfront payment step. It is disabled by default |
order_information | { label, description, enabled } | Controls the loan summary screen. It is disabled by default |
payments_processing | { label, description, enabled } | Controls the repayment breakdown screen. This is disabled by default |
payment_methods | { label, description, enabled } | Controls the repayment method selection screen |
Each section also accepts a label and description field, which control the screen title and instructional text the borrower sees. If left blank, the app falls back to sensible default English text.
One important note: three fields (the switch_to_pay_now, switch_to_pay_later, and payment_method fields, located inside the pay now and pay later objects) are defined in the configuration but are not currently read by the app. Changing them has no effect and can be left as-is.
Below is a complete example configuration you can copy and edit as a starting point:
{
"bnpl": {
"enabled": false,
"application_successful_message": "You’ve successfully applied for your loan! We’re now reviewing your details and will notify you shortly with an update.",
"application_failed_message": "We're sorry, but your loan application wasn’t approved at this time.",
"pay_now": {
"enabled": false,
"button_label": "Pay in Full",
"switch_to_pay_later": false,
"switch_to_pay_later_label": "Prefer to pay in installments?",
"payment_method": "bank"
},
"pay_later": {
"enabled": false,
"button_label": "Pay in Installments",
"switch_to_pay_now": false,
"switch_to_pay_now_label": "Prefer to settle everything now?",
"payment_method": "bank"
}
},
"title": "Loan Application",
"interest_rate": {
"label": "Interest Rate",
"description": "This is the percentage charged regularly on the amount you borrow.",
"enabled": false
},
"interest_amount": {
"label": "Interest Amount",
"description": "This is the total interest you'll pay over the loan period, based on your loan amount and repayment duration.",
"enabled": false
},
"product_selection": {
"label": "Let’s Get Started",
"description": "Input the amount that best suits your needs and provide a few quick details to begin.",
"enabled": true
},
"account_information": {
"label": "Customer Registration",
"description": "Please provide your basic information. If you’re new here, we’ll help you set up your profile. If you’ve registered before, we’ll guide you to log in securely.",
"enabled": true
},
"loan_request_information": {
"label": "Loan Request Information",
"description": "Tell us how much you need and for how long. We’ll use this to customize your loan offer.",
"enabled": true
},
"bank_account_information": {
"label": "Bank Account Information",
"description": "Provide your bank details so we can process your loan and repayments securely.",
"enabled": true
},
"identity_validation": {
"label": "Identity Verification",
"description": "We verify your identity to keep your account secure and comply with regulatory standards.",
"enabled": true
},
"selfie_validation": {
"label": "Liveness Check",
"description": "Snap a quick selfie to confirm you're the real you. It’s fast, secure, and protects your account.",
"enabled": true
},
"order_information": {
"label": "Loan Summary",
"description": "Here’s a full breakdown of your loan, amount, fees, and repayment schedule. Please review before submitting.",
"type": "Loan Product",
"enabled": false
},
"terms_review": {
"label": "Review of Loan Terms",
"description": "Carefully go through the terms of your loan so you're fully informed before moving forward.",
"enabled": true
},
"payments_processing": {
"label": "Payments",
"description": "See how your repayments are structured over time, amounts, dates, and frequency.",
"type": "Repayment breakdown",
"enabled": false
},
"payment_methods": {
"label": "Payment Methods",
"description": "Choose your preferred way to make repayments.",
"enabled": false
},
"authentication_setup": {
"label": "Password and PIN",
"description": "Authorize your loan application by inputting your password and PIN.",
"enabled": true
},
"transaction_confirmation": {
"label": "Loan Confirmation",
"description": "Almost done! This is your final chance to confirm the loan details before we proceed.",
"enabled": true
},
"equity_contribution": {
"label": "Initial Payment",
"description": "A one-time upfront payment that helps lower your overall loan burden. This is usually required before disbursement.",
"enabled": false
}
}
In this example, buy now, pay later is disabled by default (enabled: false). To activate it, set the value to true and configure the pay now and pay later options to match your product. Many screen-level steps such as product_selection, account_information, and identity_validation are enabled to ensure smooth borrower onboarding. Optional steps like order_information, payments_processing, and equity_contribution are disabled but can be turned on depending on your business needs.
How to set up buy now, pay later on the admin console
Follow these steps in the Admin Console to enable or update Buy-Now-Pay-Later (BNPL) for a loan product using the JSON you provided.
1. Log in to the Admin Console
2. Navigate to Loan Products
From the main menu go to Product Management → Loan Products.

3. Create a new loan product or open an existing one
If creating a new product, click Create Loan Product and fill in the required details. If editing an existing one, click the product from the list to open its details page.

4. Open the Product Settings tab
On the Product Details page click the Product Settings (or Attributes) tab.

5. Locate the BNPL configurations attribute
- Find the attribute named BNPL configurations.
- Click the three-dot menu (⋯) next to the attribute and choose Edit. This should open a modal where you can paste/update the config.

6. Update the JSON config and save
- Edit the bnpl object to match your business decisions (enable/disable Pay Now / Pay Later, button labels, messages, payment method).
- Validate the JSON (no trailing commas, proper quotes).
- Click Submit to apply the changes to the product.


On the Product details tab, if you want the offer letter step to appear in the borrower’s flow, you must also turn on “require loan offer” and attach an offer letter document. One without the other will not work. The app hides the offer letter step unless both conditions are met.
7. Send the invitation link
Navigate to Loans, then Loan invitations, and select Create. Choose an existing product, enter the recipient’s name and contact details, and choose how to send the link. The system generates a link and sends it. If a link has expired, a resend action is available.
To embed an invitation link directly into a merchant checkout, see how to use magic links for loan products.
8. Review the loan request
After the borrower submits, go to the loan requests queue and approve or decline the request. This is also where you can see the success or decline messaging the borrower received, which is configurable in the settings.
Enabling apply without onboarding
Also called passwordless sign-up, this option allows new borrowers to submit a loan application by filling in a short identity form instead of creating a password and transaction pin. All three of the following must be active. Any one missing and it will not work:
apply_without_onboardingset to enabled inside the bnpl-configurations product setting- The organisation-level setting apply-without-onboarding turned on separately. This is an organisation setting, not a product setting
- An identity form configured for the organisation’s country
If the third condition is missing, a Nigerian lender’s borrowers will quietly fall back to the normal password and pin sign-up — which is easy to mistake for the feature not working at all. A non-Nigerian lender’s borrowers will see a “loan application unavailable” message instead. Both are correct behaviour; knowing which one you are seeing saves confusion during setup and testing.
Best Practices
- Configure reasonable loan amounts and repayment tenors before going live to avoid mismatches in the borrower’s offer
- Use equity contribution where appropriate to reduce credit risk on higher-value purchases. See how to configure equity contribution on your loan product
- Write labels and descriptions in plain, borrower-friendly language. Avoid lending jargon in fields the borrower will read directly
- Test both pay now and pay later flows using a fresh browser profile before launching; the app saves draft applications, and a leftover draft from a previous test will drop you into the middle of a flow you did not start
- If you close the tab mid-flow and reopen the invitation link, you should be offered your saved progress. Use this to verify that abandoned application resumption is working correctly
- If a setting you changed does not appear to have taken effect, ask an engineer to check what the app is receiving for that invitation link; there is a single API call that shows exactly what the borrower’s app sees and resolves the question immediately
- To set up preset amount options at the start of the flow, see setting up dynamic offerings for your loan products
- To add custom form fields to the buy now, pay later flow, see introduction to Lendsqr’s custom form builders
Read more: How to use external loan invites | Approving and declining a loan request | How to configure and customize loan offer letters in Lendsqr
