B BNPL Integration Lab

MANAGEMENT IMPLEMENTATION BRIEF

How the integration works—and where every requirement comes from.

A source-backed view of the customer journey, provider state machines, team responsibilities, and the boundary between what we can build independently and what each provider must enable.

Tabby Tamara
9.6/10Team-share readiness
9.8/10 · Documentation fidelityRequired payloads, distinct retail endpoints, status handling, and field-level sources reviewed 25 Aug 2026.
9.7/10 · Scenario coverageOnline, SMS link, QR, approval, rejection, cancel, expiry, capture, refund, and provider-status checks are demonstrable.
External gate · not a code gapProvider credentials, merchant settings, official QA, and production activation cannot be self-issued.

01 · SOURCE-BACKED ARCHITECTURE

One internal payment model, two provider adapters

Each numbered badge opens the exact official document used to define that step.

1

Show eligible method

Run pre-check / pre-scoring and respect merchant min-max configuration.

2

Create checkout

Map the internal order to the provider request and persist its external ID.

3

Hosted customer flow

Redirect for provider-managed verification, approval, and return URLs.

4

Receive webhook

Acknowledge fast, authenticate, deduplicate, then queue processing.

5

Verify & fulfill

Retrieve the authoritative provider state before changing the internal order.

POST-ORDER CONTROL PLANEInternal OMS / service
Authorizewhen required
Captureon fulfillment
Cancelbefore capture
Refundafter capture
Check statusretrieve + events

Security rule: the browser return URL is navigation only. The backend verifies provider state before fulfillment. Tabby states this explicitly; Tamara’s checklist requires merchant and provider states to remain synchronized. T2 M5

02 · PROVIDER STATE MACHINES

The statuses our internal adapter must normalize

The exact provider words remain in the audit trail; normalized states drive shared business logic.

TabbyPayment states [T3]
CREATED→AUTHORIZED→CLOSED

Capture: adds a capture while the payment remains authorized, then payment closes when processing completes. Exit paths: rejected, expired, close before capture, refund after capture.

TamaraOrder states [M3]
new→approved→authorised→captured

Capture: signals that shipped / fulfilled value enters settlement. Exit paths: declined, expired, canceled before capture, partially or fully refunded after capture.

Provider status→Adapter mapping→Internal status pending · approved · authorized · captured · cancelled · refunded · rejected · expired

03 · RESPONSIBILITY BOUNDARY

Who owns each part

This distinction prevents “we can build it” from being confused with “we can activate a merchant account ourselves.”

OUR TECHNICAL TEAM

Build and operate

  • Shared payment model + provider adapters
  • Eligibility, payload and order mapping
  • Redirect and callback routes
  • Authenticated, idempotent webhook intake
  • Status normalization and provider-state synchronization
  • Capture, cancellation and refund triggers
  • Logs, monitoring and support runbook

PROVIDER-HOSTED

Customer decision flow

  • Hosted checkout experience
  • OTP and customer authentication
  • Eligibility / risk decision
  • KYC or identity checks where applicable
  • Consumer installment relationship

PROVIDER / BUSINESS OWNER

Enable and approve

  • Sandbox and live credentials
  • Merchant codes, min/max and product setup
  • Optional features and account configuration
  • Official QA / go-live acceptance
  • Production activation and settlement setup

04 · WHAT THE SANDBOX PROVES

Evidence, not a slide-only proposal

Open working integration lab →
01

Unified contract

Tabby and Tamara are isolated behind the same internal create, capture, cancel, refund and retrieve operations.

02

Full lifecycle

The lab demonstrates checkout, return handling, authenticated-webhook design, provider actions and a payment ledger.

03

Operational controls

Webhook audit records, duplicate detection and provider-status checks are visible to reviewers.

04

Explicit evidence levels

The lab labels documented simulation separately from provider-sandbox validation and production approval.

What this does not claim

A working internal sandbox does not replace provider-issued credentials, merchant-specific settings, contractual onboarding, certification, or production approval. Those remain required even when no clarification call is needed.

05 · TAMARA MEETING COVERAGE

Technical-team concerns, with proof level shown

“Runnable” means the mock lab exercises the behavior. “Provisioned” identifies dependencies Tamara must supply.

Runnable

Widgets + Public Key

Product/checkout placement preview and account-specific Public Key dependency.

M7 · Widgets
Runnable

Eligibility pre-check

Eligible, ineligible, and 200ms timeout-fallback branches before checkout creation.

M8 · Eligibility
Runnable

OTP + Nafath

Existing-customer OTP and new KSA customer’s one-time provider-hosted identity step.

M9 · KSA Testing
Runnable

Complete payload

Required installments, items, consumer, address, redirects, channel, locale, risk assessment and additional data.

M10 · Create Checkout
Runnable

Thirty-minute expiry

Visible countdown, manual accelerated test, EXPIRED status, failure return and webhook audit.

M3 · Status Flow
Runnable

Account automation

Manual, auto-authorize, and auto-authorize + auto-capture account configurations.

M3 · Status Flow
Runnable

All terminal webhooks

Approved, authorised, captured, canceled, refunded, expired and declined registrations.

M4 · Webhooks
Runnable

Pull + redirect + events

Return handling, Get Order status checks and persisted webhook confirmation.

M5 · Checklist
Runnable

Refunds

Full and partial refund operations with normalized statuses and audit history.

M5 · Checklist
Runnable

Retail payment link

POS creates an in-store session; SMS is primary and customer email is the documented delivery backup.

M11 · In-store Session
Runnable

Retail QR session

A separate in-store endpoint creates the checkout deeplink displayed as a QR code with a required device header.

M13 · In-store QR
Runnable

Retail status control

15-minute expiry, automatic full capture, 5–10 second polling, webhooks, void and refunds.

M12 · POS Flow
Tamara-provisioned

Separate accounts

Online and existing POS credential profiles with separate token/Public Key readiness.

M6 · API Setup
Coverage resultAll mapped concerns are either runnable in the simulation or explicitly marked as provider-provisioned. Live behavior is not claimed until provider-sandbox tests pass.Run the scenarios →

06 · TABBY EQUIVALENT COVERAGE

The same integration concerns, mapped to Tabby’s flow

Shared capabilities use the same internal controls; provider-owned customer steps retain Tabby’s documented behavior.

Runnable

Promo + checkout snippets

Product, cart and checkout placement with Public Key and merchant-code dependencies.

T7 · On-Site Messaging
Runnable

Background pre-scoring

Minimal Checkout API request with created, rejected and fail-safe branches.

T2 · Checkout Flow
Runnable

OTP + card linking

OTP on every transaction and provider-hosted card/Apple Pay linking for new customers.

T2 · Checkout Flow
Runnable

Complete payload

Buyer, items, shipping, buyer history, order history, metadata, language and URLs.

T2 · Checkout Flow
Runnable

Thirty-minute expiry

Visible countdown with cancel, reject and automatic-expiry terminal handling.

T3 · Processing
Runnable

Authorize then capture

Backend verifies AUTHORIZED, then either calls Capture automatically or exposes the manual full/partial action.

T3 · Processing
Runnable

Redirect + pull + webhook

All three returns remain navigation signals; Get Payment and events are authoritative.

T4 · Webhooks
Runnable

Retail payment link

POS creates a checkout session, triggers send_hpp_link, and the customer receives the hosted page by SMS or push.

T8 · Custom Payment Links
Runnable

Retail status control

20-minute default expiry, five-second polling or webhooks, session cancellation, success, rejection and expiry.

T8 · Custom Payment Links
Tabby-provisioned

Retail auto-capture

The lab demonstrates CLOSED/captured and AUTHORIZED exception states; enabling retail auto-capture is a merchant-account setting, not a checkout request field.

T8 · Custom Payment Links
Tabby-provisioned

Credentials + merchant code

Public/secret keys, merchant code, webhook authentication and optional expire event.

T6 · Integration FAQ
Coverage resultTabby and Tamara now share the same demonstration depth while preserving their different customer and payment-state models.Run Tabby scenarios →

07 · MANAGER EVIDENCE MATRIX

Requirement → implementation → source

Use this table for review, sign-off, or vendor conversations.

CapabilityWhat we implementTabby evidenceTamara evidence
EligibilityBackground check before displaying the methodT2 · Checkout FlowM5 · Go-Live Checklist
CheckoutCreate session, persist ID, redirect to hosted pageT1 · Quick StartM1 · Quick Start
Retail payment linkCreate POS session, deliver hosted link, verify terminal statusT8 · Custom Payment LinksM12 · POS Flow
Retail QRCreate dedicated QR session and display returned deeplinkT9 · POS QRM13 · In-store QR
Return securityTreat redirect as UI signal; verify on backendT2 · Checkout FlowM5 · State sync / pull
Async updatesAuthenticated, deduplicated webhook processorT4 · WebhooksM4 · Webhooks
Order lifecycleAuthorize, capture, cancel, refund, retrieveT3 · ProcessingM3 · Status Flow
Production gateRun official cases and submit for activationT5 · Testing ChecklistM5 · Go-Live Checklist

08 · OFFICIAL REFERENCE LIBRARY

Primary documentation used for this screen

Official provider documentation only. Links open the original source in a new tab.

TabbyOfficial docs
T1Custom Integration · Quick StartOverview, eligibility, hosted checkout, authorization and capture.↗ T2Checkout FlowPre-scoring, session creation, redirects and backend verification.↗ T3Payment ProcessingStatuses, retrieve, capture, close, refund and idempotency.↗ T4Payment WebhooksRegistration, authentication, retry, ordering and deduplication.↗ T5Full Testing ChecklistOfficial implementation coverage and QA / go-live gate.↗ T6Integration FAQCredentials, testing, common questions and production process.↗ T7On-Site MessagingPromo and checkout snippets, Public Key, merchant code and responsive placement.↗ T8Custom Payment Links IntegrationCheckout session, send_hpp_link, status checks, cancellation, expected auto-capture and merchant-account remediation.↗ T9POS QR IntegrationAlternative offline flow using the returned QR-code or web URL on the POS terminal.↗
TamaraOfficial docs
M1Direct Quick Start GuideDirect integration setup and checkout sequence.↗ M2Direct Online CheckoutCheckout payload, hosted customer flow and redirects.↗ M3Online Order Status FlowNew, approved, authorised, captured, canceled and refunded states.↗ M4Webhook SubscriptionWebhook registration, events and notification handling.↗ M5Online Go-Live Testing ChecklistPre-check, checkout, KYC, state sync, capture, cancel, refund and webhooks.↗ M6API Reference IntroductionSandbox access, authentication and production credential process.↗ M7Widgets · Promotional MessagingProduct and checkout widgets, Public Keys and approved placement.↗ M8Pre-Checkout EligibilityEligibility request, visibility decision and 200ms timeout fallback.↗ M9KSA Testing GuideOTP, new-customer ID verification and Nafath sandbox behavior.↗ M10Create Checkout SessionComplete payload, risk assessment, expiry, additional data and checkout URL.↗ M11Create In-store SMS Payment Link SessionPOS payload, required phone and items, email backup, store code, 15-minute expiry and checkout deeplink.↗ M12Payment Link · POS IntegrationSMS delivery, customer phone journey, polling/webhook status confirmation, void and refunds.↗ M13Create In-store QR SessionDedicated QR endpoint, required amount and platform, device header, IDs and checkout deeplink.↗ M14Capture OrderRequired order, amount and shipping information including shipped timestamp and company.↗ M15Void Checkout SessionRequired checkout path ID and order_id query parameter, plus optional store code.↗

Source review date: 25 August 2026. Provider documentation can change; contract tests and the official go-live checklists must be re-run immediately before production approval.