Recargas América, reseller panel

Multi-level B2B panel to resell pins and top-ups for popular games, with plans, wallets, white label and an API.

Recargas América admin dashboard with sales by product type, best-selling products and latest resellers with sales

What was needed

A platform to sell pins and top-ups for popular games through a network of resellers, where each one has their own brand, prices and network, without the administrator stepping in on every sale.

What I built

A multi-tenant Laravel panel with three levels: the platform administrator, the resellers and the sub-resellers that each one creates.

  • Plans with switchable features: the administrator defines plans, and each feature (API, Binance Pay, support desk, analytics) is turned on or off depending on the reseller’s plan.
  • USD wallets: each reseller operates with their own balance. Sub-resellers are funded with internal transfers from their reseller, recorded on both ends.
  • Cascading prices, with a floor: the reseller sets their prices for their network, but can never sell below what the platform charges them, and the platform never charges below the provider’s cost. Every cost or price change is saved in a history.
  • Several providers, one catalog: the reseller sees a unified catalog. If two providers sell the same product under different codes, they are shown as one. Each purchase goes through the cheapest available offer and, if a provider fails, the system tries the next one.
  • Catalog and price sync: every few minutes and every day, with margin protection: the sale price only goes up when the cost really goes up.
  • White label: each reseller configures the logo, colors and name of their business, and can use their own domain, verified with a DNS record. Each one also has their own public store.
  • REST API: access keys per user, with separate test and production environments, and usage logging.
  • Payments with Binance Pay: deposits into the wallet. Each reseller can use their own merchant account, so the money from their network goes straight into theirs.
  • Operation: support tickets between levels, reports and product analytics per network, bulk orders, multi-currency with live exchange rates and periodic notices of catalog changes.

Security and reliability

  • Data isolation: each network’s customers, keys and tickets are filtered automatically by reseller on every query; a reseller never sees another network’s data.
  • Control by role and by plan: routes and actions are protected according to the user’s level and the features of their plan.
  • Safe balance movements: charges and transfers are done in transactions with locking, to avoid double charges or inconsistent balances.
  • Automatic order recovery: scheduled tasks check the purchases that stayed in processing, confirm the ones that were delivered and refund the ones that failed, leaving no hanging charges or refunds of purchases that did complete.
  • Verified webhooks: payment notifications are validated with the provider’s signature before crediting balance, and have a request limit.
  • Attempt limits: logins, email verifications and manual-verification payments have a maximum number of attempts per minute.
  • Controlled API keys: a maximum of five per user, enabled only if the plan includes them.
  • Audited impersonation: the administrator can enter as a reseller, and the reseller as a sub-reseller, to give support, with a single path back to their original session.
  • Credentials outside the configuration files: payment and provider credentials are managed from the panel, per account.

Result

Each reseller serves their network with their brand and their prices. The platform buys at the best cost, reconciles the orders and looks after the balance.