> ## 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.

# European Union

<Warning>
  **Before reading this API documentation, be sure to review [**API Description Guide**](/docs/en/guide/api_description_guide)**
</Warning>

## **Transaction Limits**

| Transaction Type | Limit(Unit:EUR) |
| :--------------- | :-------------- |
| Payout           | 1-150000        |

> **Amount decimal places:** EUR — 2 decimal places

## **Disbursement API**

### **Disbursement Application**

**Brief Description:**

* Create a disbursement order

**URL: `/eur/pay/apply`**

**Parameters:**

<Warning>
  **Amount limit to two decimal places.**
</Warning>

<Note>
  **SEPA\_BANK\_USD\_FX (USD-to-EUR FX Disbursement) Product Notes:**

  * **Activation**: This product requires a newly opened merchant account, and transactions must be initiated using the EUR business ID (appId) under that merchant account.
  * **FX Mechanism**: Unlike regular disbursement, when a disbursement order is created, the system automatically initiates an internal FX conversion, exchanging the merchant's US Dollar (USD) account balance into the Euro (EUR) account balance at the customized exchange rate configured in the system. The process is fully automated and requires no additional action from the merchant.
  * **FX Details**: Merchants can view the exchange rate, converted amount, and other details via the FX order associated with the disbursement order.
</Note>

| 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](#bankCode)                                                                                                                                                              |
| 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 -\~!@#\$%&\*()\_. |
| swiftCode      | Yes      | String | Global Bank Financial Telecommunication Code (SWIFT/BIC)                                                                                                                            |
| city           | No       | String | City                                                                                                                                                                                |
| street         | No       | String | Street                                                                                                                                                                              |
| postalCode     | No       | String | Postal Code                                                                                                                                                                         |
| sign           | Yes      | String | Signature                                                                                                                                                                           |

#####

request (when accountType is BANK\_ACCOUNT)

```json theme={null}
{
    "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

```json theme={null}
{
    "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:**

* Query disbursement order

**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

```json theme={null}
{
    "appId": 1000,
    "orderId": "M1234567111",
    "orderNo": "3022111516571436",
    "sign": "ZxkVZL+GAyv0VhvWn4IvuYahTzxgQuthkuV2ONWiqIfIDb2avvHlFOUJVzqZi1q8CPHXZm1ltanRTRVTxfsuftLvGeDioUHglWt46/RU6c1OPznpLGsZ35Q3n5tW2y1EnOsxPynXBFLuDQy+aZ3l9u6AQ30T0zQexMGT+IxuFkmUp02g/6juaHa5ZgNMv7lN67ixIp162wrM7OJuaOif872QijSceRdZhzaMGImAwB0D4MosRV4WMBOKkwgPdmS7GuZN66YUidXk3wTGqX3MYRw6M0kj4eNegSUwPXvp4q4p0KO8Y3xUMld54GY2ApX3WN3CBtC/vpJqEszjGBbbGg=="
}
```

response — Order failed

```json theme={null}
{
    "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

```json theme={null}
{
    "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**<a id="bankCode" />

| Currency | Payment Type (accountType) | Payment Code (bankCode) | Limit    | Status      | Description                                                                         |
| :------- | :------------------------- | :---------------------- | :------- | :---------- | :---------------------------------------------------------------------------------- |
| EUR      | BANK\_ACCOUNT              | SEPA\_BANK              | 1-150000 | Unavailable | SEPA Bank Transfer                                                                  |
| EUR      | BANK\_ACCOUNT              | SEPA\_BANK\_USD\_FX     | 1-150000 | Available   | SEPA Bank Transfer (USD-to-EUR FX disbursement, separate merchant account required) |

## Related Topics

* [Common API](/docs/en/api/version2/CommonApi)
* [HaiPay API Description Guide](/docs/en/guide/api_description_guide)
* [Turkey Payment API](/docs/en/V20260701/api/version2/Turkey)
