πŸ“š All docsDocumentMerchant manualReseller manualReseller setup guideLanguageEnglishΰΉ„ΰΈ—ΰΈ’δΈ­ζ–‡

Reseller Setup Guide β€” Onboarding a Merchant End-to-End

P2P Transfer Platform Β· English edition

A step-by-step guide for a reseller operator to stand up a new merchant: create it, give its owner a login, and wire up the money rails (slip verification, payment gateway, bank account).

⚠️ Under active development. The slip-provider and payment-gateway screens are still being finished β€” field labels may shift slightly from what's shown here.


Table of contents


Before you start

1. You need the operator grant. All five procedures require your reseller to have the "can create merchants" grant switched on by a platform administrator. Without it, these screens show "You are not permitted to… Ask an administrator to enable this for your reseller." Ask your admin to enable it (admin β†’ Resellers β†’ your reseller β†’ toggle Can create merchants).

2. Who can do what:

Task RESELLER_OWNER RESELLER_STAFF MDR
Create merchant Β· invite merchant owner Β· per-merchant gateway βœ… β€” β€”
Slip provider Β· reseller-tier gateway Β· bank account βœ… βœ… β€”

3. How the rails are chosen (inheritance). For each of slip verification, payment gateway, and bank account, a merchant uses its own setting if it has one, otherwise yours (the reseller tier), otherwise the platform default:

merchant β†’ reseller β†’ platform

So set up the reseller tier (steps 3, 4a, and 5) once and every merchant you own inherits it β€” or override per-merchant (step 4b) when a specific merchant needs its own rail.

4. Feature flag. Your reseller-tier payment gateway (step 4a) and bank accounts (step 5) only take effect in live deposit routing when FEATURE_RESELLER_GATEWAY_TIER is ON (default OFF in most environments). The slip-provider tier (step 3) is live regardless.


1. Create a merchant

Creates the merchant, assigns it to you, sets its fee rates, and hands you its API credentials.

Where: Reseller portal β†’ Merchants β†’ Create merchant

The create-merchant form
The create-merchant form. [Partial capture β€” the source screenshot is truncated below the rate fields; a full-length re-export is pending.]

Steps:

  1. Slug β€” the merchant's unique handle. 3–64 characters: lowercase letters, numbers, and hyphens (e.g. acme-store).
  2. Display name β€” the merchant's human-readable name (e.g. Acme Store).
  3. Webhook URL (HTTPS) β€” where the platform will POST settlement events. Must be https://.
  4. Pay-in rate (%) β€” the deposit fee the merchant pays. The form shows your floor and margin live: "Platform base 0.50% Β· your margin 1.00%". You cannot go below the platform base β€” a too-low rate shows "Below your platform base of 0.20% β€” raise this rate" in red.
  5. Pay-out rate (%) β€” the withdrawal fee, with the same floor rule.
  6. Accept the DPA β€” tick "I accept the platform Data Processing Agreement on behalf of this merchant." The merchant goes live (Active) only if you accept it; otherwise it's created Suspended.
  7. Click Create merchant (enabled once all fields are valid).

Result: the merchant's API key (sen_live_…) and HMAC secret are shown once β€” copy them immediately and hand them to the merchant securely; they're never shown again. The merchant is created but inert until it has a payment rail (see step 4).

The API key and HMAC secret, shown once
The API key and HMAC secret are shown once β€” copy them before leaving this screen.

Common issues:


2. Create a merchant owner account

Gives the merchant its first back-office login (a Merchant Owner), who can then invite their own operators and viewers.

Where: Reseller portal β†’ Merchants β†’ open the merchant β†’ Back-office staff section

The merchant owner invite form
Add a staff login β€” the merchant owner invite form.

Steps:

  1. Open the merchant from your Merchants list and scroll to Back-office staff.
  2. Under Add a staff login, fill in: - Email β€” the owner's login email. - Name β€” their name (e.g. John Fulton). - Role β€” select Owner (full access) (Operator and Viewer are also available).
  3. Click Create login.

Result: a temporary password is shown once β€” copy it and give it to the owner (they set a permanent password and enrol 2FA on first login). The owner then appears in the staff list with a Reset credentials action if they ever lose access (this issues a new temporary password, clears their 2FA, and ends their sessions).

The temporary password, shown once
The temporary password is shown once β€” hand it to the owner securely.

Common issues:


3. Set up a slip-verification provider (reseller tier)

Registers your slip-verify provider key; every merchant you own that doesn't have its own inherits it.

Where: Reseller portal β†’ Slip providers

The reseller slip-providers screen
Provision your reseller-tier slip-verification provider.

Steps:

  1. In Provision your slip-verify provider key, choose the Provider (e.g. EasySlip, MockBank, HippoPay).
  2. Enter the API key (stored encrypted, never shown again).
  3. Optionally enter a Base URL (defaults to the provider's standard endpoint if left blank).
  4. Click Provision. This rotates any previous active key in one step.
  5. In the table, click Test to verify the connection β€” paste a real QR payload (and optionally an expected amount) and Run test; you'll see success plus latency, or the provider's error.
  6. Use Activate / Deactivate to control which key is live. With no active key, your merchants fall through to the platform default.

Result: one active provider per reseller, inherited by all your merchants that lack their own.

Common issues:


4. Set up a payment gateway

A payment gateway is what lets a merchant accept deposits. You can set one at the reseller tier (all your merchants inherit it) or per-merchant (just one).

4a. Reseller tier β€” all your merchants inherit

Where: Reseller portal β†’ Payment gateways

The reseller payment-gateways screen
Provision your reseller-tier payment-gateway account.

Steps:

  1. In Provision your payment-gateway account, enter the API key and API secret (both stored encrypted, never shown again).
  2. Optionally add a Label (e.g. Primary account) and a Base URL.
  3. Click Provision (rotates any prior active credential).
  4. Click Test on the row to check connectivity β€” you'll see the gateway balance plus latency, or an error.
  5. Use Activate / Deactivate to control which credential is live.

⚠️ Remember the feature flag. The reseller-tier gateway only enters live deposit routing when FEATURE_RESELLER_GATEWAY_TIER is ON.

4b. Per-merchant β€” just this merchant

Where: Reseller portal β†’ Merchants β†’ open the merchant β†’ Payment gateway section (see the screenshot in step 2 β€” right column: "Register the payment rail so this merchant can accept deposits.")

Steps:

  1. Open the merchant. In Payment gateway, note the status ("No payment gateway registered yet β€” this merchant cannot take payments until one is added.").
  2. Under Register a PGWAY gateway, enter the API key, API secret, and optional Label and Base URL.
  3. Click Register.
  4. Use Activate / Deactivate on existing rows to control the live credential.

Result: registering the first gateway makes the merchant transactable. A merchant with no gateway of its own falls back to your reseller-tier gateway (if enabled), then the platform.

Common issues:


5. Set up a bank account (reseller tier)

Adds a bank account to your reseller pool; deposits routed through your reseller rail can land here.

Where: Reseller portal β†’ Bank accounts

The reseller bank-accounts screen
Add a bank account to your reseller pool.

Steps:

  1. In Add your bank account, choose the Bank (Thai bank list, e.g. Kasikornbank / KBANK).
  2. Enter the Account holder name (e.g. your company name).
  3. Enter the Account number (digits, 6–32 characters).
  4. Click Add account. Your account is vouched immediately (verified) and joins your pool.
  5. Use Activate / Deactivate to include or exclude an account from routing (the cascade round-robins over active accounts and skips inactive ones).

⚠️ Feature flag. These accounts only receive deposits via the cascade's reseller leg when FEATURE_RESELLER_GATEWAY_TIER is ON.

Result: verified reseller-owned bank accounts; only the last four digits are ever shown after saving. Multiple accounts are allowed (there's no "one active" limit β€” toggle each independently).

Common issues:


Quick reference

# Task Permission Roles Where
1 Create merchant CREATE_MERCHANT OWNER Merchants β†’ Create merchant
2 Invite merchant owner MANAGE_MERCHANT_STAFF OWNER Merchant β†’ Staff
3 Slip provider (reseller) MANAGE_SLIP_PROVIDERS OWNER, STAFF Slip providers
4a Payment gateway (reseller) MANAGE_PAYMENT_GATEWAYS OWNER, STAFF Payment gateways
4b Payment gateway (merchant) MANAGE_PAYMENT_GATEWAYS OWNER Merchant β†’ Payment gateway
5 Bank account (reseller) MANAGE_PAYMENT_GATEWAYS OWNER, STAFF Bank accounts

All six require: reseller status ACTIVE plus the platform grant can create merchants. The reseller-tier gateway (4a) and bank accounts (5) additionally need FEATURE_RESELLER_GATEWAY_TIER ON to affect live routing.

↑ Top