- 0
- 1,268 word

FlexBuy is a complete Buy Now Pay Later platform. Ship your own BNPL business in a weekend.

FlexBuy is a full white-label BNPL stack: a Laravel + Filament admin, two editorial Flutter apps (customer and merchant), a drop-in checkout widget, and a REST API. Every surface reads its brand name, colors, currency, and legal URLs from a single configuration source, so you can rebrand from your admin panel without touching a line of code.
Important: this is regulated consumer-credit software
Please read before purchasing. FlexBuy is a Buy Now Pay Later platform. Operating it means lending money to consumers and collecting repayments, which in most countries is a regulated financial activity. Depending on where you operate and who your customers are, running this software may require you to hold a consumer-credit or lending license, register as a credit provider, comply with affordability and responsible-lending rules, follow debt-collection law, meet KYC/AML obligations, and make prescribed pre-contract disclosures such as APR.
This item is software only. It is not a financial service, not legal advice, and it does not come with any license, regulatory approval, or lending permission. You are solely responsible for obtaining whatever authorizations your jurisdiction requires, for the terms you offer, and for compliance with the consumer-credit, data-protection, and anti-money-laundering law that applies to you. Please take professional legal advice before going live. If you cannot meet these obligations in your market, do not purchase this item.
The credit engine ships with a rule-based scoring model and pluggable adapters. It is a starting point that you are expected to review, tune, and validate against your own underwriting and regulatory requirements before lending real money. The same applies to the optional crypto repayment feature flag (off by default): accepting digital assets carries its own licensing, tax, sanctions-screening, and consumer-protection obligations in most jurisdictions, and it is entirely your responsibility to determine whether you may lawfully enable it.
Two payment adapters are wired end-to-end and share the same interface. Point PAYMENT_PROCESSOR=stripe at Stripe for card, ACH, virtual card issuing, and refunds. Point PAYMENT_PROCESSOR=paystack at Paystack for Nigeria, Ghana, Kenya, South Africa, and USD. Both providers charge cards off-session for scheduled installments, verify payments on the checkout widget, and settle refunds through their native APIs. Payment providers run their own onboarding and underwriting: they may decline to serve a lending business, and approval is never guaranteed.
What is inside
- Laravel 13 backend with Filament 4 admin, Sanctum auth, 26-item setup checklist widget, brand and legal settings pages, roles and permissions, platform settings, MDR revenue and KYC funnel analytics.
- Customer Flutter app covering signup, OTP verification, KYC document upload, credit line, loan detail with installment schedule, in-app card charge for repayment, bank linking, virtual cards, referrals, statements, and account deletion.
- Merchant Flutter app for sales, settlements, refunds, customer detail, plans, webhooks, reports, and a live-chat support tab.
- Checkout widget that any merchant can drop into their site to accept installment payments. Verified end-to-end against Stripe PaymentIntents and Paystack transaction references.
- Payment Links at
/pay/{slug}– shareable BNPL checkout URLs a merchant creates from the mobile app or the admin. Post the link on WhatsApp, Instagram, SMS, or a printed QR code – the shopper opens it, completes the hosted checkout, and the loan is booked. No e-commerce integration required. Optional expiry and max-uses per link. - REST API with 86 endpoints, HMAC-signed webhooks, and a 72-hour retry tail on outbound deliveries.
- Web installer so buyers configure the app through the browser: requirements check, database, admin account, brand, third-party services, and a cron reminder. Writes an install lock so it cannot be re-run.

Real BNPL flow, verified with real Stripe and Paystack test keys

- Customer signs up and gets a credit line.
- Merchant embeds the widget on their checkout page.
- Customer selects an installment plan and completes the down-payment through Stripe.js or the Paystack hosted checkout.
- Backend verifies the payment at the provider, creates the loan, funds the merchant, saves the customer’s card for future off-session charges, and applies the down-payment to installment one.
- Customer taps Pay now in the app for the next installment. Backend charges the saved card off-session at the provider and only marks the installment paid if the provider returns success.
- Scheduler auto-debits due installments daily. Settlement batches run overnight, applying MDR per merchant.
- Merchant issues a refund. Admin approves. RefundService fires a real refund at the provider and reconciles the settlement.

White-label everything from the admin panel
- Brand name, tagline, primary color, accent color, currency, terms URL, privacy URL, licenses URL, support email, merchant email, and regulatory notice all live in a single admin page.
- Values are overlaid on top of the environment defaults, so you can change your brand live without a deploy.
- Both mobile apps and the checkout widget fetch the brand payload from the same public endpoint. One save propagates everywhere within sixty seconds.


Third-party services and costs
FlexBuy runs on the bundled demo without any external accounts. Every integration below is optional. Third-party fees are billed by that provider under your own account and are not included in this item price.
- Stripe for card capture, Financial Connections bank linking, virtual card issuing, and ACH debit. Alternative: bind your own PaymentProcessor implementation.
- Paystack for card capture and refunds across Nigeria, Ghana, Kenya, South Africa, and USD. Alternative: implement the PaymentProcessor contract for Flutterwave, Razorpay, or a local rail.
- Firebase Cloud Messaging for push notifications to the customer and merchant apps. Alternative: leave FIREBASE_CREDENTIALS blank; the app quietly disables push.
- PostaLynk for transactional email. Alternative: swap MAIL_MAILER to Laravel’s built-in SMTP or SES driver.
- Supoora for the live-chat widget on the landing site and inside the admin. Alternative: leave SUPOORA_EMBED_KEY blank; the chat surface hides itself.
Included in the package
- Full Laravel backend source with Filament 4 admin, seeded demo data, and 12 migrations for BNPL-specific tables.
- Two Flutter apps with an editorial theme (Instrument Serif on parchment) that you can rebrand in one config.
- Vanilla JavaScript checkout widget with a Blade fallback page.
- Web-based installer, admin setup checklist, and provider-agnostic health testers.
- Full HTML documentation with a quick start for non-technical buyers, screenshots, an architecture diagram, and a troubleshooting section.
- Ready-to-run install script for the backend that provisions the database, seeds demo data, and builds the widget.
Requirements
- PHP 8.3 or newer with openssl, pdo, mbstring, tokenizer, xml, ctype, json, fileinfo, sodium, curl.
- MySQL 8.0+, PostgreSQL 14+, or SQLite 3. All three are fully supported.
- Composer 2.5 or newer.
- Node 18 or newer to build the checkout widget.
- Flutter 3.10 or newer for the mobile apps.
- Optional but recommended: a cron entry that runs php artisan schedule:run every minute for auto-debit, collections, and settlement batches.
Demo access
Live demo: https://flexbuy.foundrcode.com
Admin panel (web): https://flexbuy.foundrcode.com/admin
Email: super@flexbuy.local – Password: FlexBuyDemo!Customer test account (Android APK or the /auth/register widget flow):
Email: demo1@flexbuy.local – Password: FlexBuyDemo!
KYC is already verified; credit limit is 25,000 USD.Merchant test account (Android APK – Merchant):
Email: owner@lumatrx-electronics.example.com – Password: FlexBuyDemo!
Login is OTP-protected. On this test host the OTP appears in the JSON response asotp_dev_code(RFC 2606 email domains only) so reviewers do not need mail delivery.Developer reference: https://flexbuy.foundrcode.com/developers
Android APKs: download from the landing page (Get the app button). Both APKs point at the live demo server above; no configuration needed to try the full BNPL loop.
Support
Support covers installation help, verified issues, and buyer-license questions. Third-party integrations you add on your own are supported by those providers. Full documentation ships in the package under documentation/index.html.
