Developers

An API your team can ship in a sprint.

Plain HTTPS, signed requests, predictable responses. No SDK lock-in.

The basics

Protocol
HTTPS POST, UTF-8
Authentication
Per-request signature with your app secret + IP allow-list
Responses
JSON with a uniform code / msg / data envelope
Callbacks
Signed HTTP POST to your notify URL, retried automatically until acknowledged
Environments
Full sandbox with its own credentials and dashboard

Create a deposit order

deposit.http
POST /api/pay/create
Content-Type: application/json

{
  "mchNo":      "M1700000000",
  "appId":      "your_app_id",
  "mchOrderNo": "DEP20260101000001",
  "amount":     2000000,
  "currency":   "vnd",
  "wayCode":    "QRCODE247",
  "notifyUrl":  "https://your-domain.com/callback/deposit",
  "buyerCode":  "player_88231",
  "version":    "3.0",
  "signType":   "MD5",
  "reqTime":    1767225600,
  "sign":       "9A0F…C41E"
}

→ 200 OK
{
  "code": 0,
  "msg":  "SUCCESS",
  "data": { "payOrderId": "…", "payData": "https://…/cashier/…" }
}

Illustrative request. Full field reference, signing rules and error codes are provided with your sandbox account.

Core endpoints

Create deposit

Create a pay-in order and receive a cashier link or raw payment data.

Create payout

Send funds to a bank account, e-wallet or on-chain address.

Query order

Look up the current state of any deposit or payout.

Verify account name

Check a beneficiary's bank account name before paying out.

Query balance

Read available and frozen balances for each currency.

Quote & convert

Get a conversion quote between VND or PHP and USDT, then confirm it.

Want the full documentation?

API docs and sandbox credentials are shared during onboarding. Message us on Telegram and we will set you up.

@LeoVXP