Documentation Index
Fetch the complete documentation index at: https://doc.haipay.net/llms.txt
Use this file to discover all available pages before exploring further.
Transaction Limits
| Transaction Type | Limit |
|---|
| Payout | EUR: 1-150000 |
Disbursement API
Disbursement Application
Brief Description:
- Create a disbursement order
URL: /eur/pay/apply
Parameters:
Amount limit to two decimal places.
| Parameter Name | Required | Type | Description |
|---|
| appId | Yes | Long | Business ID (obtained from backend, must pass the corresponding business ID based on the currency in the URL) |
| orderId | Yes | String | Merchant order number (must be unique, max length 48) |
| amount | Yes | String | Transaction amount (unit: EUR) Range: 1-150000 |
| accountType | Yes | String | Account type: BANK_ACCOUNT |
| bankCode | Yes | String | Bank code |
| accountNo | Yes | String | IBAN account number |
| name | Yes | String | Recipient name (English, 1-30 characters, “firstName middleName lastName” (middleName optional, special characters: .-)) |
| phone | Yes | String | Real mobile number |
| email | Yes | String | Real email address |
| notifyUrl | No | String | Callback URL |
| subject | No | String | Payment note (transaction title, product name, payment reason) |
| body | No | String | Additional description |
| partnerUserId | Yes | String | Unique user identifier (e.g., userId), used for risk control system, must be valid, otherwise it will affect the transaction. Format: digits, letters, or symbols -~!@#$%&*()_. |
| sign | Yes | String | Signature |
| swiftCode | Yes | String | Global Bank Financial Telecommunication Code (SWIFT/BIC) |
| city | Yes | String | City |
| street | Yes | String | Street |
| postalCode | Yes | String | Postal Code |
request (when accountType is BANK_ACCOUNT)
{
"appId": 12162,
"amount": "15.77",
"name": "Jean Pierre Dupont",
"subject": "test",
"swiftCode": "BNPAFRPP",
"partnerUserId": "343402",
"accountType": "BANK_ACCOUNT",
"orderId": "2026040241127",
"bankCode": "SEPA_BANK",
"accountNo": "FR7630006000011234567890189",
"phone": "33612345678",
"email": "jean.pierre@example.com",
"city": "Paris",
"street": "10 Rue de la Paix",
"postalCode": "75002",
"sign": "I1PeK3eJOVsFFNowxVRqMXpeWm1lr/BcRpBi8WsW4wVo1+5CC3JsrFq/m/L2O69NzKHvtDWi4zia3DL3dPut0yMyUyqL91LNCSaeISbGsQPlhEsQpyTOryS/RKOfsrn2Xo37SCF/phAvndOk2jwwGwqM5xLz1ms9Ukl85wv27QFNrXIMxK2p18oe7MpMYrgf+xvEBE/VqCtKMtN9pO449wWwXzHWNPbZ76s4pAvKwRE9yXQDr7Iw14Dktcnl1FoLM4gWM/obkO+mz6SyAGDuXhVh/+OD/IGNiCyTCNq6ciQY28UnCFV6ZIP40gxsFhfBJKbK+Raw7y1Bh912ifYfug=="
}
response
{
"status": "1",
"error": "00000000",
"msg": "",
"data": {
"orderId": "M100000450013",
"orderNo": "3023062014149637",
"sign": "LmhUnkw5j0pMiimsG8rKwdNNZGvXH5MpSmD6mdHZwq1SQwuK5BohmdEoqKB/jkMk28o3da4Cxh6Q+tW97+yTCemRrF+dMaHA73rpOeUuujKQl/UcFvJuMhfLBa2tp09L71NzoBqpPD6aXf37mYAz8E1HmERwFPpac5FVxIYanHG8cqmMLJYsVmHTSxWavgWU03ys9UczBePkBiR8sl2FSOhFABB0wAP28lswrV/ABS68IsLKtyd1fyI3GBfSbIK5nDEEnlE+EdElFdLs9taAxJImeVF1x4eT47+bkPJ2qS8z3K8QGzKLF3W+8SiRZGfSwDTsLKH+2Vycvy5auRl+ag=="
}
}
Response data field description
| Parameter | Type | Description |
|---|
| orderId | String | Merchant Order Number (must be unique) |
| orderNo | String | Platform Order Number |
| sign | String | Signature |
Disbursement Query
Brief Description:
URL: /eur/pay/query
Parameters:
| Parameter | Required | Type | Description |
|---|
| appId | Yes | Long | Business ID (obtained from backend, must match the currency in the URL) |
| orderId | Yes | String | Merchant Order Number |
| orderNo | No | String | Platform Order Number (faster response) |
| sign | Yes | String | Signature |
request
{
"appId": 1000,
"orderId": "M1234567111",
"orderNo": "3022111516571436",
"sign": "ZxkVZL+GAyv0VhvWn4IvuYahTzxgQuthkuV2ONWiqIfIDb2avvHlFOUJVzqZi1q8CPHXZm1ltanRTRVTxfsuftLvGeDioUHglWt46/RU6c1OPznpLGsZ35Q3n5tW2y1EnOsxPynXBFLuDQy+aZ3l9u6AQ30T0zQexMGT+IxuFkmUp02g/6juaHa5ZgNMv7lN67ixIp162wrM7OJuaOif872QijSceRdZhzaMGImAwB0D4MosRV4WMBOKkwgPdmS7GuZN66YUidXk3wTGqX3MYRw6M0kj4eNegSUwPXvp4q4p0KO8Y3xUMld54GY2ApX3WN3CBtC/vpJqEszjGBbbGg=="
}
response — Order failed
{
"status": "1",
"error": "00000000",
"msg": "",
"data": {
"orderId": "M1234567111",
"orderNo": "3022111516571436",
"amount": "100000.00",
"fee": "0.00",
"status": 3,
"errorMsg": "Order does not exist",
"sign": "KKuvCl0SuNANJs+l2ogDaJm8pmV+Hi+Xa7q27vJ6D1Ehs4aOp13kRbITfJAhczh3T81BE9qwHeJaYwf+r0EypKM9TL6pMwfG8Az4gRy1D57wiUaVjl2PWcvbEqrn1hL0b+btkjvAM9I+CcSv+wuOW3/uku17Ws3FhgJLj9sFsQUBAPjDO+758VnwBytCOLBmljLBXyKgNgpmFQ1/DNkqWl0UNzyLK45Zw3yf5NiwhEFbvW0jlOWlfu/ql4hluISUQG573jEoFCBEnQLb2tQoRZj1QYNRCXPf5lbej0vzqbEwvR9h+ZOf255t1MocJkdIe463DTV5U3KZdVT87HMagw=="
}
}
response — Order successful
{
"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/lbP0dx4oVyNAnL5oLsdmhDJdASlQm0yg5I3o+MhImYggEsL6c2bo5fP29t54OZFqSdQDfIuNDvGbAMAr4mRBxc0hoHLkBLyyagfVPBLyQA1JY8XV3ZL4ySzQ3ZQnMCfrh2K39ueUuz6HpZ03Hj0KYijVRCXAZaio/L5jfLBT12QXmvIfAHa8s/k9flhK05ENHPep3zjj/MZGOEaX7jkEJLfjK0duypDCa61BRQjM+oePOdVsgleIl1Yf98UAxMDZ/A3912KFHEb+/jvmdnulNbiJFyuT1fEe+j2teUgw3vFsZAtwNWAgxhC7UO+N0Q5z4EA=="
}
}
Response data field description
| Parameter | Type | Description |
|---|
| orderId | String | Merchant Order Number (must be unique) |
| orderNo | String | Platform Order Number |
| amount | String | Transaction Amount |
| fee | String | Fee |
| status | Integer | Order status (0 Not Started, 1 Disbursing, 2 Disbursement Success (final), 3 Disbursement Failed (final), -1 Exception Pending Confirmation) |
| payTime | String | Payment Success Time (available when status=2) (EU Time), format: yyyy-MM-dd HH:mm:ss |
| errorMsg | String | Failure Reason (available when status=3) |
| sign | String | Signature |
Payment Methods
| Currency | Payment Type (accountType) | Payment Code (bankCode) | Limit | Status | Description |
|---|
| EUR | BANK_ACCOUNT | SEPA_BANK | 1-150000 | Available | SEPA Bank Transfer |