> For the complete documentation index, see [llms.txt](https://docs.pagsmile.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pagsmile.com/reference/remittance-api/business/withdrawal/create-withdrawal-order.md).

# Create Withdrawal Order

Creates a withdrawal order to transfer funds from a merchant account to a registered or inline payee.

#### Endpoint

`POST /remittance/withdrawal/create`

**Sandbox base URL:** `https://rem-api-sandbox.pagsmile.com`\
**Content-Type:** `application/json; charset=UTF-8`

The request uses the standard [Remittance API request envelope](https://docs.pagsmile.com/remittance-api/common). The fields below describe the decrypted `biz_data` object.

{% hint style="info" %}
**Requirement:** `M` = Mandatory, `O` = Optional, and `C` = Conditional. A conditional field is mandatory only when the condition stated in its description applies.
{% endhint %}

{% hint style="warning" %}
Encrypt `biz_data`, encrypt the AES key into `random_key`, and sign the request according to the Common request specification.
{% endhint %}

#### Request body

**Decrypted `biz_data` fields**

| Field                | Type    | Requirement | Description                                                                                                                                                                                                                  |
| -------------------- | ------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `merchant_id`        | long    | M           | Pagsmile-assigned unique identifier of the merchant on whose behalf the request is submitted.                                                                                                                                |
| `order_no`           | string  | M           | Merchant-defined order number used to submit, query, and reconcile the withdrawal order.                                                                                                                                     |
| `pay_currency`       | string  | M           | Three-letter ISO 4217 code of the currency debited for the transaction.                                                                                                                                                      |
| `receive_currency`   | string  | M           | Three-letter ISO 4217 code of the currency credited to the recipient.                                                                                                                                                        |
| `receive_amount`     | string  | M           | Amount credited in the receiving currency.                                                                                                                                                                                   |
| `swift_fee_method`   | string  | O           | <p>Charge allocation option for the SWIFT withdrawal.<br>Supported values:<br><code>SHA</code> or <code>OUR</code>.<br>Default: <code>SHA</code></p>                                                                         |
| `reference`          | string  | O           | Merchant-provided reference used to reconcile the withdrawal order with the merchant's internal records.                                                                                                                     |
| `payee_id`           | long    | O           | Unique identifier of the payee or withdrawal beneficiary.                                                                                                                                                                    |
| `payee.bank_country` | string  | M           | Two-letter ISO 3166-1 alpha-2 code of the country where the payee's bank account is held.                                                                                                                                    |
| `payee.payment_type` | integer | M           | <p>Payment route used for the inline payee.<br>See <a href="https://docs.pagsmile.com/reference/remittance-api/data/dictionary-item/payment-type">Pay Type</a> for supported values.<br>Fixed value: <code>swift</code>.</p> |
| `payee.account_type` | integer | M           | <p>Type of the inline payee's destination bank account.<br>See <a href="https://docs.pagsmile.com/reference/remittance-api/data/dictionary-item/account-type">Account Type</a> for supported values.</p>                     |
| `payee.payee_type`   | integer | M           | <p>Classification of the inline payee.<br>See <a href="https://docs.pagsmile.com/reference/remittance-api/data/dictionary-item/payee-type">Payee Type</a> for supported values.</p>                                          |
| `payee.payee_values` | Object  | M           | Country- and payment-route-specific account details for the inline payee.                                                                                                                                                    |

**Plaintext `biz_data` example**

{% hint style="info" %}
This example includes mandatory fields and representative optional or conditional fields. Submit fields marked `C` only when the condition in the field description applies.
{% endhint %}

```json
{
  "merchant_id": 100398,
  "order_no": "ORDER_202607200001",
  "pay_currency": "USD",
  "receive_currency": "USD",
  "receive_amount": "100.00",
  "swift_fee_method": "SHA",
  "reference": "Example reference",
  "payee_id": 100001,
  "payee": {
    "bank_country": "BR",
    "payment_type": "swift",
    "account_type": 1,
    "payee_type": 1,
    "payee_values": {
      "bicSwift": "EBAPFRPPXXX",
      "accountNumber": "1234567890",
      "beneficiaryCompanyName": "Example Company",
      "beneficiaryAddress": "100 Example Street",
      "beneficiaryCity": "Paris",
      "beneficiaryPostalCode": "75001",
      "beneficiaryCountry": "FR"
    }
  }
}
```

#### Request example

```bash
curl --request POST \
  --url https://rem-api-sandbox.pagsmile.com/remittance/withdrawal/create \
  --header 'Content-Type: application/json; charset=UTF-8' \
  --data '{
    "partner_id": "<your_partner_id>",
    "app_id": "<your_app_id>",
    "timestamp": "2026-07-20 10:30:00",
    "version": "2.0",
    "language": "en",
    "random_key": "<RSA-encrypted AES key>",
    "request_id": "<globally_unique_request_id>",
    "sign_type": "RSA",
    "biz_data": "<AES-encrypted biz_data>"
  }'
```

{% hint style="info" %}
Use the `partner_id` and `app_id` assigned to your integration. The values above are placeholders.
{% endhint %}

#### Response

{% tabs %}
{% tab title="Success" %}

```json
{
  "code": "10000",
  "msg": "Success",
  "data": {
  },
  "random_key": "abssdddd2wdw==",
  "sign_type": "RSA",
  "app_id": "2017051914172236111"
}
```

{% endtab %}

{% tab title="Invalid signature" %}

```json
{
  "code": "40002",
  "msg": "Business Failed",
  "sub_code": "invalid-signature",
  "sub_msg": "invalid signature"
}
```

{% endtab %}
{% endtabs %}

**Response data fields**

| Field              | Type    | Requirement | Description                                                                                                                                                                                            |
| ------------------ | ------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `order_id`         | long    | M           | Pagsmile-assigned unique identifier of the order.                                                                                                                                                      |
| `merchant_id`      | long    | M           | Pagsmile-assigned unique identifier of the merchant associated with the returned withdrawal order.                                                                                                     |
| `transaction_id`   | long    | O           | Pagsmile-assigned unique identifier of the transaction.                                                                                                                                                |
| `order_no`         | string  | M           | Merchant-defined order number used to submit, query, and reconcile the withdrawal order.                                                                                                               |
| `order_status`     | integer | M           | <p>Current processing status of the withdrawal order.<br>See <a href="https://docs.pagsmile.com/reference/remittance-api/data/dictionary-item/order-status">Order Status</a> for supported values.</p> |
| `audit_status`     | integer | M           | Current compliance or material review status of the withdrawal order.                                                                                                                                  |
| `bank_country`     | string  | M           | Two-letter ISO 3166-1 alpha-2 code of the country where the bank account is held.                                                                                                                      |
| `pay_currency`     | string  | M           | Three-letter ISO 4217 code of the currency debited for the transaction.                                                                                                                                |
| `pay_amount`       | string  | O           | Amount debited in the payment currency.                                                                                                                                                                |
| `fee`              | string  | O           | Service fee charged for the transaction, expressed in the corresponding currency.                                                                                                                      |
| `receive_currency` | string  | M           | Three-letter ISO 4217 code of the currency credited to the recipient.                                                                                                                                  |
| `receive_amount`   | string  | M           | Amount credited in the receiving currency.                                                                                                                                                             |
| `account_num`      | string  | M           | Registered bank account number to which the withdrawal is sent.                                                                                                                                        |
| `payee_name`       | string  | O           | Name of the payee or withdrawal beneficiary.                                                                                                                                                           |
| `payee_id`         | long    | O           | Unique identifier of the payee or withdrawal beneficiary.                                                                                                                                              |
| `reference`        | string  | O           | Merchant-provided reference used to reconcile the withdrawal order with the merchant's internal records.                                                                                               |
| `error_message`    | string  | O           | Human-readable explanation provided when processing fails.                                                                                                                                             |
| `created_at`       | string  | M           | Date and time when the withdrawal order was created. Format: `yyyy-MM-dd HH:mm:ss`.                                                                                                                    |

#### Related APIs

* [Add Withdrawal Account](https://docs.pagsmile.com/remittance-api/business/withdrawal/add-withdrawal-account)
* [Delete Withdrawal Account](https://docs.pagsmile.com/remittance-api/business/withdrawal/delete-withdrawal-account)
* [Query Withdrawal Account Detail](https://docs.pagsmile.com/remittance-api/business/withdrawal/query-withdrawal-account-detail)
* [Query Withdrawal Orders](https://docs.pagsmile.com/remittance-api/business/withdrawal/query-withdrawal-orders)
* [Update Withdrawal Account](https://docs.pagsmile.com/remittance-api/business/withdrawal/update-withdrawal-account)
* [Withdrawal Result Notification](https://docs.pagsmile.com/remittance-api/business/withdrawal/withdrawal-result-notification)
