Single checkout Links • Forms • Products & Shop • Subscriptions • Crypto

Payments infrastructure for merchants


Walletbay combines local rails (Paystack / Flutterwave) with global card payments (Stripe-style UX) and non-custodial crypto flows (BTC, ETH, USDT TRC20/ERC20/BEP20). Merchants get a clean storefront.

Public URLs: /pay/{merchant}/{slug} & /form/{merchant}/{slug} Crypto reservation timer (expires_at → release) Real-time crypto balance & confirmations

Designed around real checkout behavior.

Clear states, consistent integrations, and a merchant-first experience. Your platform can route platform billing (subscriptions / fees) using platform gateway keys, while merchants still control their own settings where applicable.

Non-custodial crypto posture

Crypto tracked by confirmations and lifecycle status, with wallet reservation + release—built to reduce custody exposure.

Unified rails, consistent UX

Paystack & Flutterwave for local rails, Stripe-inspired experience for global cards—one clean checkout UI.

Scale-ready architecture

Service-layer design, webhooks per provider, and real-time status updates (polling/WebSockets as needed).

Status model that stays predictable
crypto_transactions.status: pending → processing → waiting → confirming → confirmed (plus expired / failed).
See rails →

Products & Shop: sell without building a store from scratch.

Create products with images and descriptions, organize them in categories, and publish a clean storefront. Pair your store with payment links and forms for custom pricing and one-off payments.

Store essentials

Built around your notes: product categories + merchant-owned products + recent product listing.

  • Product catalog
    Products with images, descriptions, and merchant ownership (user_id scoped).
  • Categories
    product_categories table + drop-down selection when creating a product.
  • Public storefront feel
    Merchant name + profile image, mobile-first layout, clean product cards.
  • Fast checkout
    From product page → unified checkout with fiat + crypto methods.

Route patterns & ownership

Public routes and merchant slug model.

// Public URLs
/pay/{merchant}/{slug}
 /form/{merchant}/{slug}

// Ownership
payment_links.user_id
payment_links.merchant_slug

// Products + categories
products.user_id
products.category_id → product_categories.id
          
Launch flow
Add categories → create products → publish store/links → accept Paystack/Flutterwave/Stripe/PayPal/crypto payments.
Go live →

Digital or physical catalogs

Support small catalogs for services, digital items, or simple product lineups—without a heavy e-commerce stack.

Forms for custom payments

Collect payer info once and initialize the selected gateway with consistent API behavior (CSRF-safe).

Receipts & lifecycle clarity

Predictable states for support teams and customers: paid/success/confirmed vs expired/failed.

Merchant tools built for daily operations.

Dashboards, product management, link/form publishing, payout preferences, and crypto wallet pool workflows—built to feel premium without being complicated.

Dashboard analytics

Totals for successful transactions, pay links, forms, products, and recent products with category context.

Crypto wallet pool

Wallet locking/unlocking per transaction, reservation expiry timers, and confirmations via explorers with real-time balance checks.

Custom payout preferences

Merchants configure payout details and payout rules to match their business—flexible, provider-aware, and dashboard-managed.

Admin gateway settings (DB-backed)

Enable/disable providers and manage secrets in the database with encryption + caching—then override runtime config on boot.

  • Encrypted secrets
    Stripe/Paystack/Flutterwave/PayPal plus platform crypto enable toggle.
  • Runtime config override
    Load DB settings into services.platform.* while keeping .env as fallback.
  • Fewer ops mistakes
    Change keys from admin instead of editing environment files.

Payout gateways supported

Offer payout-ready integrations and configure merchant payout rules without hard-coding operations per merchant.

// Payout gateways
Paystack
Flutterwave
Stripe
PayPal

// Merchant payout customization
- payout destination details (per merchant)
- payout rules / preferences
- settlement-ready reporting
          

Payments: local rails + global reach.

Give customers the methods they trust. Use Paystack and Flutterwave for local flows, Stripe-inspired patterns for global, PayPal for international wallets, and crypto rails for borderless payments—kept consistent with webhooks and live status.

Paystack-ready UX

Cards, bank transfers and USSD—fast checkout experiences with predictable flows.

Flutterwave rails

Broad coverage patterns and provider-friendly configurations for merchant operations.

Stripe + PayPal reach

Global cards and PayPal wallets, unified inside one checkout experience and one status model.

Real-time crypto balance check + confirmations
Track incoming funds on address in real-time (balance deltas) and confirm by network confirmations. Reservation timer prevents wallets being stuck; expiry triggers safe release.
View subscription plans →

Simple plans for merchants and platforms.

Start small, then unlock subscriptions, payouts customization, and crypto confirmations as you scale.

Business pack

$200 /mo
  • Payment links per month
    100
  • Payment forms per month
    100
  • Products maximum
    100
Choose Business pack →

Free

Custom
  • Payment links per month
    3
  • Payment forms per month
    3
  • Products maximum
    6
Choose Free →

FAQ

Clear answers for custody posture, wallet locks, real-time checks, and payout customization.

Do you hold customer crypto funds?

The concept supports a non-custodial approach: crypto is tracked by on-chain balance and confirmations, plus wallet reservation and expiry release, rather than holding funds in custody accounts.

How do payment links and forms work?

Links and forms are merchant-owned (user_id + merchant_slug). Public URLs follow /pay/{merchant}/{slug} and /form/{merchant}/{slug}, keeping checkout consistent for customers.

What does “real-time crypto balance check” mean?

The checkout continuously checks the receiving address for incoming funds and updates status in real time. After funds are detected, confirmations are tracked until the payment is confirmed.

How do merchants customize payouts?

Merchants can set payout destinations and rules (per business) through the dashboard. This keeps operations flexible while staying provider-aware across Paystack, Flutterwave, Stripe, and PayPal.

Can admin update gateway settings without editing .env?

Yes. Store encrypted gateway settings in a DB singleton and override runtime config in your app boot logic, with .env remaining as a fallback.

Ready to ship?
Start with links and products, then add subscriptions, payout customization, and crypto confirmations as your platform grows.
Get started →