1. System flow
1.1. Login to API to get a bearer token
1.2. Perform transaction API accordingly
2. API
2.1. Login Token
This is to generate the bearer token that going to use for the rest of the API
URL: api/login
| Content-Type | application/json | ||
| Field | Field Length | Required | Descriptions |
| mid | string(50) | Y | merchant id |
| secret_key | string(50) | Y | secret key provided |
2.2. Create order
Once user requests to create oder, an unique orderID is required. , The API will send through
the method of POST (ContentType=”application/json”), parameters as below;
URL: api/pay/order
| Content-Type | application/json | ||
| Field | Field Length | Required | Descriptions |
| order_id | string(50) | Y | Unique self-generated id for the order |
| amount | string(12) | Y | The format will be 00.00,two decimal places。 Ex:$10,the amount submitted should be 10.00 |
| product_name | string(100) | Y | |
| currency | string(3) | Y | “THB”, “PHP”, “BRL”, “INR”, “KRW”, “MXN”, “SGD”, “USD”, “USDT”, “KRW”, “IDR” |
| notify_url | string(255) | Y | After successful payment, the server will push the result page , merchants can process accordingly to update the database |
| pix_account | string(255) | Only for Brazil, the number of CPF (Mandatory) | |
| tax_number | string(255) | Only for Brazil, this is tax number for CPF/CNPJ | |
| payer_account_number | string(255) | Only for Thailand pay-in which method is BANK, this is means your paying bank account no | |
| bank_no | string(255) | Only for IDR pay-in | |
| payment_type | string(255) | Y | “Qr” |
| redirect_url | string(255) | This field is required for “card” payment methods, and also required for “USD” and “SGD” currency. | |
| back_url | string(255) | This field is required for “card” payment methods, and also required for “USD” and “SGD” currency. |
After the deposit request completed, the result will response via POST method to, parameters as below:
| ContentType | application/json | |||
| Field | Field Name | Field Length | Required | Descriptions |
| id | gen3pay transaction id | integer | gen3pay transaction id | |
| status_text | Deposit request status text | string (50) | Deposit request raw status text | |
| status_code | Deposit request status code | string(2) | V | 1:Pending 2:Processing 3:Successful 4: Failed |
| order_id | Order ID | string(50) | Unique id for the order | |
| amount | string | The format will be 00.00,two decimal places. Ex:$10,the amount submitted should be 10.00 | ||
| product_name | product | string(100) | ||
| currency | currency | string(3) | “THB”, “PHP”, “BRL”, “INR”, “KRW”, “MXN”, “SGD”, “USD”, “USDT”, “KRW”, “IDR” | |
| qr_code | QR Code | QR Code |
2.3 Payout API
The API will send through the method of POST (ContentType=”application/json”), parameters as below;
URL: api/payout/order
| Content-Type | application/json | ||
| Field | Field Length | Required | Descriptions |
| order_id | string(50) | Y | Unique self-generated id for the order |
| amount | string(12) | Y | The format will be 00.00,two decimal places。 Ex:$10,the amount submitted should be 10.00 |
| product_name | string(100) | Y | |
| currency | string(3) | Y | “BRL” |
| notify_url | string(255) | Y | After successful payment, the server will push the result page , merchants can process accordingly to update the database |
| pix_account | string(255) | Only for Brazil, the number of CPF (Mandatory) | |
| tax_number | string(255) | Only for Brazil, this is tax number for CPF/CNPJ | |
| account_name | string(255) | Only for India, this field required | |
| account_number | string(255) | Only for Brazil and India. For Brazil the number of CPF/EMAIL account (Mandatory), and for India the number format is UPI address. | |
| payer_account_number | string(255) | Only for Thailand pay-in which method is QRPAY,this is means your paying account number | |
| payment_type | string(255) | Y | “CPF”, “Email” |
After the deposit request completed, the result will response via POST method to , parameters as below:
| ContentType | application/json | |||
| Field | Field Name | Field Length | Required | Descriptions |
| id | gen3pay transaction id | integer | gen3pay transaction id number | |
| status_code | Deposit request status code | string(2) | V | 1:Pending 2:Processing 3:Successful 4: Failed |
| status_text | Deposit request status text | string(50) | Deposit request raw status text | |
| order_id | Order ID | string(50) | Unique id for the order | |
| amount | string | The format will be 00.00,two decimal places. Ex:$10,the amount submitted should be 10.00 | ||
| product_name | product | string(100) | ||
| currency | currency | string(3) | “THB”, “PHP”, “BRL”, “INR”, “KRW”, “MXN”, “SGD”, “USD”, “USDT”, “KRW”, “IDR” | |
| reference_number | transaction reference number | string (255) | Transaction reference number |
2.4 Balance API
The API will send through the method of GET (Accept=”application/json”), url as below;
URL: api/merchant/credit/balances
Sample Response:
{
"data": {
"brl": {
"symbol": "R$",
"currency_name": "Brazilian Real",
"total_amount": "990.00",
"items": [
{
"payment_type_name": "CPF",
"currency": "brl",
"total_amount": 2000,
"total_fee_amount": 300,
"total_deposit_amount": 2250,
"total_deposit_fee_amount": 250,
"total_withdrawal_amount": 450,
"total_withdrawal_fee_amount": 50,
"total_transactions": 4,
"settled_amount_after_fees": 2110,
"available_for_settlement_before_fees": 2120
}
]
}
},
"meta": {
"message": "Balances"
}
}
2.5 Get Order Status
The API will send through the method of GET (Accept=”application/json”), url as below;
URL: api/pay/order/<order id>
Sample Response:
{
"data": {
"id": 21,
"created_at": "2025-02-25 03:07:32",
"updated_at": "2025-02-25 03:07:32",
"amount": "100.00",
"remarks": "",
"order_id": "12319910",
"product_name": "Payment",
"reference_number": "20250225110732u4H3M",
"currency": "THB",
"qr_string": null,
"status_code": 1,
"status_text": "pending"
}
}
Annex:
Pay In Currency & Payment Type List
| Currency | paytype | Method Name |
| THB | QR | QR |
| PHP | paymaya | E-wallet – Maya |
| PHP | brankas_bdo | BDO Online via Brankas |
| PHP | brankas_landbank | Landbank Online via Brankas |
| PHP | metrobank | Metrobank Online via Brankas |
| PHP | dob | BPI Online |
| PHP | dob_ubp | UnionBank Online |
| PHP | grab_pay | E-Wallet – GrabPay |
| PHP | gcash | Gcash |
| MXN | spei | Spei Bank Transfer |
| BRL | pix | PIX Payment |
| BRL | CPF | CPF |
| VND | p2c | P2C Solution |
| VND | OB | OB |
| VND | MOMO | MOMO |
| VND | Zalo | Zalo |
| VND | Viettelpay | Viettelpay |
| IDR | OB | OB |
| IDR | VA | VA |
| IDR | VABCA | VABCA |
| IDR | QRIS | QRIS |
| INR | inbank_upi | India UPI |
| USD | card | card |
| SGD | card | card |
| IDR | card | Card (Visa/master card) |
| KRW | card | Card (Visa/master card) |
| THB | card | Card (Visa/master card) |
| BRL | card | Card (Visa/master card) |
| IDR | apm | Alternative Payment methods |
| KRW | apm | Alternative Payment methods |
| THB | apm | Alternative Payment methods |
| BRL | apm | Alternative Payment methods |
Pay Out Currency & Payment Type List
| Currency | paytype | Method Name |
| BRL | CPF | CPF Payment |
| BRL | CPF Payment |
Pay Out Currency & Payment Type List
| bankno | bank name |
| BCA | Bank Central Asia |
| BNI | Bank Negara Indonesia |