> 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/transfer/internal-transfer.md).

# Internal transfer

**Endpoint**

`POST /remittance/account/transfer`

**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.                                                                                            |
| `order_no`           | string  | M           | Merchant-defined order number used to submit, query, and reconcile the internal transfer.                                                       |
| `partner_account_no` | string  | M           | Partner account number involved in the transfer.                                                                                                |
| `transfer_type`      | integer | M           | <p>Direction of the internal transfer.<br>Supported values:<br><code>1</code> — Partner to merchant<br><code>2</code> — Merchant to partner</p> |
| `amount`             | string  | M           | Monetary amount of the transaction, expressed in the corresponding currency.                                                                    |
| `currency`           | string  | M           | Three-letter ISO 4217 code of the currency in which the internal transfer values are denominated.                                               |
| `reference`          | string  | O           | Merchant-provided reference used to reconcile the transaction with the merchant's internal records.                                             |

**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",
  "partner_account_no": "1234567890",
  "transfer_type": 1,
  "amount": "100.00",
  "currency": "USD",
  "reference": "Example reference"
}
```

**Request example**

```bash
curl --request POST \
  --url https://rem-api-sandbox.pagsmile.com/remittance/account/transfer \
  --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"
}
```

{% endtab %}

{% tab title="Invalid signature" %}

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

{% endtab %}
{% endtabs %}
