How to test a buy now pay later service
Direct answer
Shipped untested, a buy now pay later service keeps collecting instalments by autopay after the merchant refunds a returned item, and opens pay-later plans at checkout in a stolen name so the real person receives the missed-instalment notices. 9 tests are mandatory here, each tied to a risk in the map below. After the release smoke check, start the risk tests with penetration testing: an order ID change that shows another shopper's purchases, or a plan opened past the identity check in a stolen name, exposes data and money before any plan calculation runs.
9 mandatory testsfirst: penetration testing
What counts as a buy now pay later service
A buy now pay later service here is an instalment plan offered at merchant checkout through a widget, API or plugin, with a shopper app on iOS, Android and web for plan schedules and repayment cards. It covers checkout approval, affordability and identity checks, plan calculation, autopay collection and order changes sent by merchants. Standalone personal loans with credit bureau furnishing, card issuing and in-store plans through a mobile point of sale are out of scope.
Adjacent product types not covered here
- lending platform: A lending platform originates longer loans outside a checkout, so adverse action notices and credit bureau files replace merchant refunds and plugin contracts.
- accounting and invoicing SaaS: An accounting and invoicing SaaS records what businesses are owed and pay rather than lending to shoppers, so bank feed duplicates and VAT filing replace instalment collection.
Risk map
| Risk | Grade | Note | Evidence | |
|---|---|---|---|---|
| Fraud or abuse by users fraud-abuse | money | primary | A fraudster opens a pay-later plan at checkout with a stolen name and card, the merchant ships, and the real person receives the missed-instalment notices. | |
| Money leaves or fails to arrive money-loss | money | primary | A merchant refunds a returned item, but the remaining instalments stay scheduled and autopay keeps collecting them from the shopper's card. | |
| Fine or enforcement by a regulator regulatory-penalty | legal | primary | The one-click checkout approval skips the affordability or unsuitability check that UK and Australian rules now require before a pay-in-four plan is offered. | |
| Personal or sensitive data exposed data-breach | data | secondary by design analysis | By design analysis: the shopper account shows every financed purchase, merchant and repayment card, and a cached checkout or account response can be served to a different shopper. |
Mandatory tests (9)
Step 1: release smoke tests
Why:money-loss
Done when: After each release, a test shopper completes a pay-in-four checkout on a test merchant and sees four instalments with the right dates in the app.
Tool class: browser automation. Who usually runs it: QA engineer.
Step 2: penetration testing
Done when: An external tester cannot view another shopper's purchases by changing an order ID, and cannot open a plan that bypasses the identity check.
Tool class: proxy. Who usually runs it: external lab.
Step 3: unit tests
Why:money-loss
Done when: Instalment split, rounding of the last instalment and late-fee caps match a reviewed table for each plan length and currency offered.
Tool class: unit framework. Who usually runs it: developer.
Step 4: integration tests
Why:money-loss
Done when: A refund, a partial capture and a cancelled order sent through the merchant API each change the shopper's plan in the app to the matching amount.
Tool class: API client. Who usually runs it: developer.
Step 5: contract tests
Why:money-loss
Done when: A merchant plugin release that changes the refund or capture message fails a contract check before it reaches merchants.
Tool class: contract tool. Who usually runs it: developer.
Step 6: payment and money-flow testing
Why:money-loss
Done when: In the sandbox, a full refund from the merchant cancels all unpaid instalments and a partial refund reduces them, with no further autopay charge.
Tool class: API client. Who usually runs it: QA engineer.
Step 7: end-to-end functional tests
Done when: A test shopper whose stated income fails the affordability rule is declined at checkout, and the decline is logged with the check that failed.
Tool class: browser automation. Who usually runs it: QA engineer.
Step 8: compliance checks
Done when: For a sample of plans, a reviewer finds the pre-contract information, the missed-payment notice and the hardship option the shopper was shown, each stored with a date.
Tool class: test management. Who usually runs it: product manager.
Step 9: security scanning
Why:data-breach
Done when: The latest scan of the shopper app, merchant portal and checkout API shows no open finding that returns another shopper's data.
Tool class: DAST scanner. Who usually runs it: security specialist.
Recommended and optional tests
resilience and failure testingrecommended
Becomes mandatory when failed instalments are retried automatically.
regression suiterecommended
Becomes mandatory when account or checkout responses are cached at the edge.
accessibility testingrecommended
Becomes mandatory when a merchant contract or accessibility complaint covers the checkout widget.
performance and load testingrecommended
Becomes mandatory when a signed merchant runs a seasonal sales event through the service.
device and browser compatibilityoptional
The checkout widget is embedded in many merchant themes and browsers, so layout breaks can hide the plan terms.
analytics and event tracking testsoptional
When merchants are billed on attributed sales, a lost conversion event misstates merchant reports.
Not needed and why
Not needed: no attached risk is better found by unscripted sessions than by the refund and decline cases. Becomes recommended when a new plan length or product type launches.
Not needed for risk control: disclosures are checked under compliance. Becomes recommended when checkout conversion of the widget is a tracked goal.
Not needed: plans are offered in one market and currency. Becomes recommended when a second market, currency or disclosure language launches.
Order of work
First release
- release smoke tests: Complete a pay-in-four checkout as a test shopper on a test merchant and confirm the app shows four instalments with the right dates.
- penetration testing: Have an external tester change an order ID to view another shopper's purchases and try to open a plan that bypasses the identity check.
- unit tests: Run instalment split, last-instalment rounding and late-fee caps against the reviewed table for each plan length and currency offered.
- integration tests: Send a refund, a partial capture and a cancelled order through the merchant API and confirm each changes the shopper's plan to the matching amount.
- contract tests: Run each supported merchant plugin's refund and capture messages against the agreed contract and block any release that changes them.
- payment and money-flow testing: In the sandbox, refund an order in full and confirm all unpaid instalments are cancelled, then refund part of an order and confirm the instalments shrink with no further autopay charge.
- end-to-end functional tests: Check out as a test shopper whose stated income fails the affordability rule and confirm the decline at checkout and the logged check that failed.
- compliance checks: Pull a sample of plans and confirm each stores the pre-contract information, the missed-payment notice and the hardship option shown, each with a date.
- security scanning: Scan the shopper app, merchant portal and checkout API and close every finding that returns another shopper's data.
Ongoing cadence
- release smoke tests: After every release reaching live merchant checkouts.
- contract tests: Before each merchant plugin or platform integration release.
- payment and money-flow testing: After each change to autopay, refund handling or the card processor.
- end-to-end functional tests: After each change to affordability rules or when a new market's lending rules take effect.
- unit tests: When a plan length, currency or late-fee cap is added or changed.
- regression suite: On every release candidate once account or checkout responses are cached at the edge.
- performance and load testing: Before each seasonal sales event a signed merchant runs through the service.
Tools
Listed alphabetically inside each test type, filtered to the tests above and to the platforms of buy now pay later service (web, api, ios, android). Not recommendations.
release smoke tests
- Firebase Test LabRuns app tests on hosted devices. iosandroidfreemium
- TestRailTest case and run management. webiosandroidapicommercial
- XrayTest management inside Jira. webiosandroidapicommercial
penetration testing
- Burp SuiteProxy and scanner for web application security testing. webapifreemium
unit tests
- JestJavaScript test runner with mocking and snapshots. webapiopen-source
- JUnitTest framework for the JVM. apiandroidopen-source
- pytestTest framework for Python with fixtures and plugins. apiopen-source
- VitestTest runner for Vite-based JavaScript and TypeScript projects. webapiopen-source
- XCTestApple's framework for unit and UI tests. iosopen-source
integration tests
- Charles ProxyHTTP proxy for inspecting and throttling traffic. iosandroidwebcommercial
- JestJavaScript test runner with mocking and snapshots. webapiopen-source
- JUnitTest framework for the JVM. apiandroidopen-source
- PostmanAPI client with collections and scripted assertions. apifreemium
- pytestTest framework for Python with fixtures and plugins. apiopen-source
- VitestTest runner for Vite-based JavaScript and TypeScript projects. webapiopen-source
- XCTestApple's framework for unit and UI tests. iosopen-source
contract tests
- PactConsumer-driven contract testing with a broker. apiopen-source
- PostmanAPI client with collections and scripted assertions. apifreemium
- SchemathesisProperty-based testing from OpenAPI and GraphQL schemas. apiopen-source
payment and money-flow testing
- Adyen test environmentTest cards and scenarios for Adyen integrations. webapiiosandroidcommercial
- Stripe test modeTest cards and scenarios for Stripe integrations. webapiiosandroidfreemium
end-to-end functional tests
- AppiumCross-platform mobile UI automation over WebDriver. iosandroidopen-source
- ApplitoolsVisual comparison of screens across builds. webiosandroidcommercial
- BrowserStackCloud of real devices and browsers. webiosandroidcommercial
- CypressBrowser-based end-to-end testing with a visual runner. webfreemium
- DeepEvalUnit-style evaluation for LLM applications. apiopen-source
- DetoxGray-box end-to-end testing for React Native apps. iosandroidopen-source
- EspressoAndroid UI testing framework from Google. androidopen-source
- LambdaTestCloud browser and device grid. webiosandroidcommercial
- MaestroMobile UI flows written in YAML. iosandroidfreemium
- PercyVisual review of UI changes. webcommercial
- PlaywrightBrowser automation for Chromium, Firefox and WebKit. webopen-source
- PostmanAPI client with collections and scripted assertions. apifreemium
- PromptfooEvaluation and regression tests for LLM prompts and outputs. apiwebopen-source
- Sauce LabsCloud test infrastructure for web and mobile. webiosandroidcommercial
- SeleniumWebDriver-based browser automation. webopen-source
- XCTestApple's framework for unit and UI tests. iosopen-source
security scanning
- Burp SuiteProxy and scanner for web application security testing. webapifreemium
- GarakProbing LLM applications for prompt injection and leakage. apiopen-source
- mitmproxyInteractive HTTPS proxy. iosandroidwebapiopen-source
- MobSFStatic and dynamic analysis for mobile binaries. iosandroidopen-source
- OWASP ZAPDynamic application security scanner. webapiopen-source
- SchemathesisProperty-based testing from OpenAPI and GraphQL schemas. apiopen-source
- SemgrepStatic analysis with custom rules. apiwebiosandroidfreemium
- SnykDependency and code vulnerability scanning. apiwebiosandroidfreemium
- TrivyScanner for containers, dependencies and configuration. apiopen-source
resilience and failure testing
- Chaos MeshFault injection for Kubernetes. apiopen-source
- GremlinManaged fault injection. apicommercial
- ToxiproxyTCP proxy for simulating network failures. apiopen-source
regression suite
- CypressBrowser-based end-to-end testing with a visual runner. webfreemium
- DeepEvalUnit-style evaluation for LLM applications. apiopen-source
- PlaywrightBrowser automation for Chromium, Firefox and WebKit. webopen-source
- PromptfooEvaluation and regression tests for LLM prompts and outputs. apiwebopen-source
- TestRailTest case and run management. webiosandroidapicommercial
- XrayTest management inside Jira. webiosandroidapicommercial
accessibility testing
- Accessibility ScannerGoogle's on-device accessibility checker for Android. androidopen-source
- axe-coreAccessibility rules engine for automated checks. webopen-source
- LighthouseAudits for accessibility and performance in Chrome. webopen-source
- Pa11yCommand-line accessibility testing. webopen-source
performance and load testing
- ArtilleryLoad testing with YAML scenarios. apiwebfreemium
- GatlingLoad testing with Scala, Java or Kotlin scenarios. apiwebfreemium
- JMeterLoad testing tool from the Apache Foundation. apiwebopen-source
- k6Load testing scripted in JavaScript. apiwebopen-source
- LighthouseAudits for accessibility and performance in Chrome. webopen-source
- LocustLoad testing scripted in Python. apiwebopen-source
What to send to the person who will test
Send the checklist and the brief below. The printable checklist for buy now pay later service has the same 9 items with checkboxes.
Download the checklistMarkdownCSVBrief (Markdown)
Acceptance criteria wording
A release of the buy now pay later service is accepted when a test shopper completes a pay-in-four checkout and sees four instalments with the right dates. A full merchant refund cancels all unpaid instalments and a partial refund reduces them, with no further autopay charge. A shopper whose stated income fails the affordability rule is declined at checkout and the failed check is logged.
Brief
# Test brief: buy now pay later service Product type: buy now pay later service. Instalment payments at checkout with merchant integration. Risk map and evidence: https://howtotestaproduct.com/how-to-test/bnpl-service/ Printable checklist: https://howtotestaproduct.com/checklists/bnpl-service/ Run these 9 mandatory tests in this order. A test is done only when its done condition is true on the build you will release. 1. release smoke tests (risks: money-loss). Tool class: browser automation. Usually run by: QA engineer. Done when: After each release, a test shopper completes a pay-in-four checkout on a test merchant and sees four instalments with the right dates in the app. 2. penetration testing (risks: data-breach, fraud-abuse). Tool class: proxy. Usually run by: external lab. Done when: An external tester cannot view another shopper's purchases by changing an order ID, and cannot open a plan that bypasses the identity check. 3. unit tests (risks: money-loss). Tool class: unit framework. Usually run by: developer. Done when: Instalment split, rounding of the last instalment and late-fee caps match a reviewed table for each plan length and currency offered. 4. integration tests (risks: money-loss). Tool class: API client. Usually run by: developer. Done when: A refund, a partial capture and a cancelled order sent through the merchant API each change the shopper's plan in the app to the matching amount. 5. contract tests (risks: money-loss). Tool class: contract tool. Usually run by: developer. Done when: A merchant plugin release that changes the refund or capture message fails a contract check before it reaches merchants. 6. payment and money-flow testing (risks: money-loss). Tool class: API client. Usually run by: QA engineer. Done when: In the sandbox, a full refund from the merchant cancels all unpaid instalments and a partial refund reduces them, with no further autopay charge. 7. end-to-end functional tests (risks: regulatory-penalty). Tool class: browser automation. Usually run by: QA engineer. Done when: A test shopper whose stated income fails the affordability rule is declined at checkout, and the decline is logged with the check that failed. 8. compliance checks (risks: regulatory-penalty). Tool class: test management. Usually run by: product manager. Done when: For a sample of plans, a reviewer finds the pre-contract information, the missed-payment notice and the hardship option the shopper was shown, each stored with a date. 9. security scanning (risks: data-breach). Tool class: DAST scanner. Usually run by: security specialist. Done when: The latest scan of the shopper app, merchant portal and checkout API shows no open finding that returns another shopper's data. Acceptance criteria wording: A release of the buy now pay later service is accepted when a test shopper completes a pay-in-four checkout and sees four instalments with the right dates. A full merchant refund cancels all unpaid instalments and a partial refund reduces them, with no further autopay charge. A shopper whose stated income fails the affordability rule is declined at checkout and the failed check is logged. Report back for each test: pass or fail against its done condition, the build or version tested, and the proof (screenshot, log line or report file). Licence: CC BY 4.0.
For founders: what to forward and what to ask back. For product managers: turning this page into tickets.
Questions about testing a buy now pay later service
What testing does a buy now pay later service need?
9 tests are mandatory, from the checkout smoke test and penetration testing of order IDs and the identity check to merchant plugin contract checks and refund handling in the payment sandbox. Each is tied to one of the 4 risks in the map, such as instalments still collected after a refund or a plan opened in a stolen name. Resilience, regression, accessibility and performance tests are recommended, each with the event that makes it mandatory.
What testing is required for a buy now pay later service as a financial product?
End-to-end affordability declines and compliance checks on stored pre-contract information, missed-payment notices and hardship options are mandatory while the service is authorised as a credit provider. The map cites UK and Australian rules that now require an affordability or unsuitability check before a pay-in-four plan is offered.
Which tests in a vendor test plan for a buy now pay later service are not needed?
Exploratory testing is not needed while the refund and decline cases cover the attached risks, until a new plan length or product type launches. Usability testing is not needed for risk control because plan disclosures are checked under compliance, until checkout conversion of the widget is a tracked goal. Localization is not needed while plans are offered in one market and currency, until a second market, currency or disclosure language launches.
When is test automation worth it for a buy now pay later service?
Contract tests are mandatory while more than one merchant plugin is supported, so a plugin release that changes the refund or capture message fails before it reaches merchants. Unit tests are mandatory while the service calculates plans, checking instalment split, rounding and late-fee caps per plan length and currency.
Evidence
ev-0102regulatorprimary
Fighting Identity Theft with the Red Flags Rule: A How-To Guide for Business, Federal Trade Commission
Supports fraud-abuse for a lending platform: creditors with covered accounts must detect identity theft signals such as altered documents at application, which is where loans are taken out in another person's name. BNPL providers extend consumer credit and are creditors in the same sense.
published undated · verified 2026-10-07
ev-0026regulatorprimary
Electronic Fund Transfers (Regulation E), Consumer Financial Protection Bureau
Regulation E sets error resolution and liability rules for consumer electronic fund transfers, so wrong or unauthorised transfers must be investigated and corrected.
published undated · verified 2026-10-07
ev-0049regulatorprimary
Buy Now, Pay Later: Market trends and consumer impacts, Consumer Financial Protection Bureau
Consumer complaints to the CFPB indicate that returns and disputes are a common concern.
Supports money-loss and regulatory-penalty for a BNPL service: the regulator's market report on pay-in-four lenders records complaints about continued instalment payments on disputed items, and lists required autopay and borrower overextension among consumer risks.
published 2022-09-15 · verified 2026-10-07
ev-0050regulatorprimary
CFPB Takes Action to [...] Consumers Can Dispute Charges and Obtain Refunds on Buy Now, Pay Later Loans, Consumer Financial Protection Bureau
Supports money-loss for a BNPL service: the regulator reports that a notable share of BNPL purchases involve a return or dispute and that refunds must be credited to the borrower's plan. The page is marked archived; it is cited for the observed failure, not for the current legal status of the interpretive rule.
published 2024-05-22 · verified 2026-10-07
ev-0051regulatorprimary
New protections confirmed for Buy Now Pay Later borrowers, Financial Conduct Authority
Lenders must carry out proportionate checks to make sure customers can afford to repay what they borrow before offering BNPL.
Supports regulatory-penalty for a BNPL service in the UK: deferred payment credit comes under FCA rules requiring affordability checks at checkout, missed-payment information and support for customers in financial difficulty.
published 2026-02-11 · verified 2026-10-07
ev-0052regulatorprimary
25-069MR ASIC releases new regulatory guidance to support buy now pay later industry reforms, Australian Securities and Investments Commission
Supports regulatory-penalty for a BNPL service in Australia: buy now pay later providers need a credit licence and must meet modified responsible lending obligations, so an approval flow without an unsuitability assessment exposes the provider.
published undated · verified 2026-10-07
ev-0012standardprimary
OWASP API Security Top 10 2023, OWASP Foundation
The API Security Top 10 names API-specific failures such as broken object level authorization and unrestricted resource consumption.
published undated · verified 2026-10-07
ev-0101regulatorprimary
FTC Safeguards Rule: What Your Business Needs to Know, Federal Trade Commission
General requirement for data-breach on a lending platform: the rule names lenders and finance companies as covered financial institutions and requires penetration testing and periodic vulnerability scans. A BNPL provider extends consumer credit as a finance company, so the same requirement transfers to it.
published undated · verified 2026-10-07
Disclaimer
This page lists tests and risks for a product category, not for your product. Risks are attached only with the evidence shown in the Evidence section. Tools are listed alphabetically and are not recommendations. Nothing here is legal, regulatory or security advice; where a regulator or a store sets a requirement, their page is linked and takes precedence.