Before reading this API document, please make sure to check API Description Guide
Limits
| Transaction Type | Limit |
|---|---|
| Collection | USD: 0.99-499.99, TWD: 100-20000 |
| Payout | TWD: 1000-30000 |
Amount Decimal Places: TWD — 0 decimal places (integer only) | USD — 2 decimal places
Collection API
Collection Application
Brief Description:- Create a collection order
/twd/collect/apply Note: appId TWD, amount TWD, settlement TWD
USD: /usd/collect/apply Note: appId USD, amount USD, settlement USD
Parameters:
| Parameter Name | Required | Type | Description |
|---|---|---|---|
| appId | Yes | Long | Business ID (obtained from the backend, needs to pass the corresponding business ID according to the currency in the URL) |
| orderId | Yes | String | Merchant order number (must be unique, max length 48) |
| name | Yes | String | User’s full name. Recommended to use real name. Format: firstName and lastName separated by a space. Example: John Doe |
| phone | Yes | String | Real phone number |
| Yes | String | Real email | |
| amount | Yes | String | Transaction amount. For TWD orders, decimals are not allowed |
| payType | Yes | String | Transaction type |
| inBankCode | Yes | String | Payment method |
| callBackUrl | Yes | String | Redirect URL after successful payment |
| callBackFailUrl | Yes | String | Redirect URL after failed payment |
| cancelUrl | No | String | If provided, the payment page displays a Back button that redirects the user to this URL when clicked. |
| notifyUrl | No | String | Callback URL |
| subject | Yes | String | Payment note |
| body | No | String | Additional details |
| country | No | String | Required for cashier mode, fixed value: 158 |
| currency | No | String | Currency (default TWD; supported currencies: USD, TWD) |
| partnerUserId | Yes | String | Unique user identifier (e.g., userId). Used for risk control. Must be valid, otherwise it will affect the transaction. Allowed format: numbers, uppercase/lowercase letters, or common symbols -~!@#$%&*()_. |
| sign | Yes | String | Signature |
| Parameter Name | Type | Description |
|---|---|---|
| orderId | String | Merchant order number (must be unique) |
| orderNo | String | Platform order number |
| payUrl | String | Payment link |
| sign | String | Signature |
Collection Query
Brief Description:- Query collection order
/twd/collect/query
USD: /usd/collect/query
Parameters:
| Parameter Name | Required | Type | Description |
|---|---|---|---|
| appId | Yes | Long | Business ID (obtained from the backend, needs to pass the corresponding business ID according to the currency in the URL) |
| orderId | Yes | String | Merchant order number |
| orderNo | No | String | Platform order number (faster response) |
| sign | Yes | String | Signature |
| Parameter Name | Type | Description |
|---|---|---|
| orderId | String | Merchant order number (must be unique) |
| orderNo | String | Platform order number |
| amount | String | Transaction amount |
| actualAmount | String | Amount received |
| fee | String | Transaction fee |
| status | Integer | Status (0: Not started, 1: Processing, 2: Success (final), 3: Failed (final), 4: Partial received (final), 5: Over-received (final), -1: Exception pending confirmation) |
| payTime | String | Payment success time (available when status=2,4,5). Local time format: yyyy-MM-dd HH:mm:ss |
| errorMsg | String | Payment failure reason (available when status=3) |
| sign | String | Signature |
Payment Methods
| Currency | Payment Type (payType) | Payment Code (inBankCode) | Limit | Status | Description |
|---|---|---|---|---|---|
| TWD | QR | JKO_PAY_QR | 30-20000 | Available | JkoPay QR |
| TWD | EWALLET | JKO_PAY_TWD | 30-20000 | Available | JKO Pay |
| TWD | BANK_TRANSFER | ATM | 100-20000 | Available | ATM Cashier |
| TWD | BANK_TRANSFER | STORE_IBON | 100-20000 | Available | 7-11 Convenience Store |
| TWD | BANK_TRANSFER | STORE_HILIFEET | 100-20000 | Available | Hi-Life Life-ET |
| TWD | BANK_TRANSFER | STORE_OKGO | 100-20000 | Available | OK Mart OK-go |
| TWD | BANK_TRANSFER | STORE_FAMI | 100-20000 | Available | FamilyMart FamiPort |
| TWD | BANK_TRANSFER | STORE_MBC_HILIFEET | 100-20000 | Available | Convenience store mobile QR scan (Hi-Life Life-ET) |
| TWD | BANK_TRANSFER | STORE_MBC_IBON | 100-20000 | Available | 7-11 Convenience store mobile QR scan |
| USD | EWALLET | JKO_PAY | 0.99-499.99 | Available | JKO Pay |
| USD | BANK_TRANSFER | LINE_PAY_USD | 2.99-499.99 | Available | Line Pay |
| USD | BANK_TRANSFER | ATM_USD | 32.99-499.99 | Available | ATM Cashier |
| USD | BANK_TRANSFER | STORE_IBON_USD | 2.99-499.99 | Available | 7-11 Convenience Store |
| USD | BANK_TRANSFER | STORE_HILIFEET_USD | 2.99-499.99 | Available | Hi-Life Life-ET |
| USD | BANK_TRANSFER | STORE_OKGO_USD | 2.99-499.99 | Available | OK Mart OK-go |
| USD | BANK_TRANSFER | STORE_FAMI_USD | 2.99-499.99 | Available | FamilyMart FamiPort |
| USD | BANK_TRANSFER | STORE_MBC_HILIFEET_USD | 2.99-499.99 | Available | Convenience store mobile QR scan (Hi-Life Life-ET) |
| USD | BANK_TRANSFER | STORE_MBC_IBON_USD | 2.99-499.99 | Available | Convenience store mobile QR scan (7-Eleven) |
Payout API
Payout Application
Brief Description:- Create a payout order
/twd/pay/apply
Note: appId TWD, amount TWD, settlement TWD
Parameters:
| Parameter Name | Required | Type | Description |
|---|---|---|---|
| appId | Yes | Long | Business ID (obtained from the backend, needs to pass the corresponding business ID according to the currency in the URL) |
| orderId | Yes | String | Merchant order number (must be unique, max length 48) |
| amount | Yes | String | Transaction amount (Unit: NT$, integer only) |
| accountType | Yes | String | BANK_ACCOUNT (bank account) |
| bankCode | Yes | String | Bank code, see Bank Codes for details |
| accountNo | Yes | String | User’s bank account number |
| name | Yes | String | Recipient’s name (Format: uppercase/lowercase English letters with spaces allowed, Traditional Chinese supported) |
| phone | No | String | Real phone number (format reference Phone Number Format) |
| No | String | Real email | |
| notifyUrl | No | String | Callback URL |
| subject | No | String | Payment note (transaction title, product name, payment reason) |
| body | No | String | Additional details |
| partnerUserId | Yes | String | Unique user identifier (e.g., userId). Used for risk control. Must be valid, otherwise it will affect the transaction. Allowed format: numbers, uppercase/lowercase letters, or common symbols -~!@#$%&*()_. |
| sign | Yes | String | Signature |
{
"appId": 1054,
"orderId": "M100000450012",
"amount": "55",
"accountType": "BANK_ACCOUNT",
"bankCode": "BANK_OF_TAIWAN",
"accountNo": "99418029201a844099",
"name": "John Doe",
"email": "johndoe@example.com",
"subject": "Payment for services",
"body": "Payment description",
"partnerUserId": "73744645@f233",
"sign": "I1PeK3eJEVsFFNowxVRqMXpeWa1lr/BcRpBi8SsW4wVo1+5AC1JsrFq/m/L3214NzKHvtDWi4zia3DL3dPut0yMyUyqL91LNCSaeISbGsQPlhEsQpyTOryS/RKOfsrn2Xo37SCF/phAvndOk2jwwGwqM5xLz1ms9Ukl85wv27QFNrXIMxK2p181e7MpMYrgf+xvEBE/VqCtKMtN9pO449wWwXzHWNPbZ76s4pAvKwRE9yXQDr7Iw14Dktcnl1FoLM4gWM/obkO+mz6SyAGDuXhVh/+OD/IGNiCyTCNq6ciQY28UnCFV6ZIP40gxsFhfBJKbK+Raw7y1Bh912ifYfug=="
}
{
"status": "1",
"error": "00000000",
"msg": "",
"data": {
"orderId": "M1000245001F4",
"orderNo": "3023022014149638",
"sign": "LmhUnkw5j0pMiimsG6rKwdNNZGvX6GMpSmD1mdHZwq112wuK5BohmdEoqKB/jkMk28o3da4Cxh6Q+tW97+yTCemRrF+dMaHA73rpOeUuujKQl/UcFvJuMhfLBa2tp09L71NzoBqpPD6aXf37mYAz8E1HmERwFPpac5FVxIYanHG8cqmMLJYsVmHTSxWavgWU03ys9UczBePkBiR8sl2FSOhFABB0wAP28lswrV/ABS68IsLKtyd1fyI3GBfSbIK5nDEEnlE+EdElFdLs9taAxJImeVF1x4eT47+bkPJ2qS8z3K8QGzKLF3W+8SiRZGfSwDTsLKH+2Vycvy5auRl+ag=="
}
}
| Parameter Name | Type | Description |
|---|---|---|
| orderId | String | Merchant order number (must be unique) |
| orderNo | String | Platform order number |
| sign | String | Signature |
Payout Query
Brief Description:- Query payout order status
/twd/pay/query
Parameters:
| Parameter Name | Required | Type | Description |
|---|---|---|---|
| appId | Yes | Long | Business ID (obtained from the backend, needs to pass the corresponding business ID according to the currency in the URL) |
| orderId | Yes | String | Merchant order number |
| orderNo | No | String | Platform order number (faster response) |
| sign | Yes | String | Signature |
{
"appId": 1000,
"orderId": "M1234567111",
"orderNo": "3022111516571436",
"sign": "ZxkVZL+GAyv0VhVWn4IvGYahTzxgQuthkuV2ONWiqIfIDb2avvHlFOUJVzqZi1q8CPHXZm1ltanRTRVTxfsuftLvGeDioUHglWt46/RU6c1OPznpLGsZ35Q3n5tW2y1EnOsxPynXBFLuDQy+aZ3l9u6AQ30T0zQexMGT+IxuFkmUp02g/6juaHa5ZgNMv7lN67ixIp162wrM7OJuaOif872QijSceRdZhzaMGImAwB0D4MosRV4WMBOKkwgPdmS7GuZN66YUidXk3wTGqX3MYRw6M0kj4eNegSUwPXvp4q4p0KO8Y3xUMld54GY2ApX3WN3CBtC/vpJqEszjGBbbGg=="
}
{
"status": "1",
"error": "00000000",
"msg": "",
"data": {
"orderId": "M1234567111",
"orderNo": "3022111516571436",
"amount": "100000.00",
"fee": "0.00",
"status": 3,
"errorMsg": "交易金額不合法",
"sign": "KKuvCl0SuNANJs+l2ogAaJm8pmV+Hi+Xa7q27vJ6D1Ehs4aOp13kRbITfJAhczh3T81BE9qwHeJaYwf+r0EypKM9TL6pMwfG8Az4gRy1D57wiUaVjl2PWcvbEqrn1hL0b+btkjvAM9I+CcSv+wuOW3/uku17Ws3FhgJLj9sFsQUBAPjDO+758VnwBytCOLBmljLBXyKgNgpmFQ1/DNkqWl0UNzyLK45Zw3yf5NiwhEFbvW0jlOWlfu/ql4hluISUQG573jEoFCBEnQLb2tQoRZj1QYNRCXPf5lbej0vzqbEwvR9h+ZOf255t1MocJkdIe463DTV5U3KZdVT87HMagw=="
}
}
{
"status": "1",
"error": "00000000",
"msg": "",
"data": {
"orderId": "M1234567112",
"orderNo": "3022111517401574",
"amount": "100000.00",
"fee": "1003.00",
"status": 2,
"payTime": "2024-03-01 23:59:59",
"sign": "khPtOmGq+cpKX0HFAI/lbP0dx4oFyNAnL5oLsdmhDJdASlQm0yg5I3o+MhImYggEsL6c2bo5fP29t54OZFqSdQDfIuNDvGbAMAr4mRBxc0hoHLkBLyyagfVPBLyQA1JY8XV3ZL4ySzQ3ZQnMCfrh2K39ueUuz6HpZ03Hj0KYijVRCXAZaio/L5jfLBT12QXmvIfAHa8s/k9flhK05ENHPep3zjj/MZGOEaX7jkEJLfjK0duypDCa61BRQjM+oePOdVsgleIl1Yf98UAxMDZ/A3912KFHEb+/jvmdnulNbiJFyuT1fEe+j2teUgw3vFsZAtwNWAgxhC7UO+N0Q5z4EA=="
}
}
| Parameter Name | Type | Description |
|---|---|---|
| orderId | String | Merchant order number (must be unique) |
| orderNo | String | Platform order number |
| amount | String | Transaction amount |
| fee | String | Transaction fee |
| status | Integer | Order status (0: Not started, 1: Processing, 2: Success (final), 3: Failed (final), -1: Exception pending confirmation) |
| payTime | String | Payment success time (available when status=2) (UTC+8), format: yyyy-MM-dd HH:mm:ss |
| errorMsg | String | Payment failure reason (available when status=3) |
| sign | String | Signature |
Bank Codes
| Currency | Payment Type (accountType) | Payment Code (bankCode) | Limit | Status | Description |
|---|---|---|---|---|---|
| TWD | BANK_ACCOUNT | BANK_OF_TAIWAN | 1000-30000 | Available | Bank of Taiwan |
| TWD | BANK_ACCOUNT | TAIPEI_STAR_BANK | 1000-30000 | Available | Taipei Star Bank |
| TWD | BANK_ACCOUNT | HWATAI_BANK | 1000-30000 | Available | Hwatai Bank |
| TWD | BANK_ACCOUNT | SANXIN_COMMERCIAL_BANK | 1000-30000 | Available | Sanxin Commercial Bank |
| TWD | BANK_ACCOUNT | O_BANK | 1000-30000 | Available | O-Bank |
| TWD | BANK_ACCOUNT | ENTIE_COMMERCIAL_BANK | 1000-30000 | Available | Entie Commercial Bank |
| TWD | BANK_ACCOUNT | KINGS_TOWN_BANK | 1000-30000 | Available | King’s Town Bank |
| TWD | BANK_ACCOUNT | TAICHUNG_COMMERCIAL_BANK | 1000-30000 | Available | Taichung Commercial Bank |
| TWD | BANK_ACCOUNT | BANK_OF_PANHSIN | 1000-30000 | Available | Bank of Panhsin |
| TWD | BANK_ACCOUNT | SUNNY_BANK | 1000-30000 | Available | Sunny Bank |
| TWD | BANK_ACCOUNT | UNION_BANK_OF_TAIWAN | 1000-30000 | Available | Union Bank of Taiwan |
| TWD | BANK_ACCOUNT | KGI_BANK | 1000-30000 | Available | KGI Bank |
| TWD | BANK_ACCOUNT | FAR_EASTERN_INTERNATIONAL_BANK | 1000-30000 | Available | Far Eastern International Bank |
| TWD | BANK_ACCOUNT | THE_SHANGHAI_COMMERCIAL_AND_SAVINGS_BANK | 1000-30000 | Available | The Shanghai Commercial & Savings Bank |
| TWD | BANK_ACCOUNT | YUANTA_COMMERCIAL_BANK | 1000-30000 | Available | Yuanta Commercial Bank |
| TWD | BANK_ACCOUNT | SHIN_KONG_COMMERCIAL_BANK | 1000-30000 | Available | Shin Kong Commercial Bank |
| TWD | BANK_ACCOUNT | TAISHIN_INTERNATIONAL_BANK | 1000-30000 | Available | Taishin International Bank |
| TWD | BANK_ACCOUNT | BANK_SINOPAC | 1000-30000 | Available | Bank Sinopac |
| TWD | BANK_ACCOUNT | E_SUN_COMMERCIAL_BANK | 1000-30000 | Available | E.SUN Commercial Bank |
| TWD | BANK_ACCOUNT | CTBC_BANK | 1000-30000 | Available | CTBC Bank |
| TWD | BANK_ACCOUNT | CATHAY_UNITED_BANK | 1000-30000 | Available | Cathay United Bank |
| TWD | BANK_ACCOUNT | TAIPEI_FUBON_COMMERCIAL_BANK | 1000-30000 | Available | Taipei Fubon Commercial Bank |
| TWD | BANK_ACCOUNT | BANK_OF_KAOHSIUNG | 1000-30000 | Available | Bank of Kaohsiung |
| TWD | BANK_ACCOUNT | TAIWAN_BUSINESS_BANK | 1000-30000 | Available | Taiwan Business Bank |
| TWD | BANK_ACCOUNT | CHUNGHWA_POST_CO_LTD | 1000-30000 | Available | Chunghwa Post Co., Ltd. |
| TWD | BANK_ACCOUNT | MEGA_INTERNATIONAL_COMMERCIAL_BANK | 1000-30000 | Available | Mega International Commercial Bank |
| TWD | BANK_ACCOUNT | CHANG_HWA_BANK | 1000-30000 | Available | Chang Hwa Bank |
| TWD | BANK_ACCOUNT | HUA_NAN_COMMERCIAL_BANK | 1000-30000 | Available | Hua Nan Commercial Bank |
| TWD | BANK_ACCOUNT | FIRST_COMMERCIAL_BANK | 1000-30000 | Available | First Commercial Bank |
| TWD | BANK_ACCOUNT | TAIWAN_COOPERATIVE_BANK | 1000-30000 | Available | Taiwan Cooperative Bank |
| TWD | BANK_ACCOUNT | LAND_BANK_OF_TAIWAN | 1000-30000 | Available | Land Bank of Taiwan |
Important Notes:
- When calling the payout API, please use the corresponding bank name as the
bankCodeparameter value

