> 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/payout/submit-a-payout/peru/banktransfer.md).

# BankTransfer

## Submit a payout by Bank Transfer in Peru.

<mark style="color:green;">`POST`</mark> `https://sandbox.transfersmile.com/api/payout`

This endpoint allows you to submit a payout by Bank Transfer in Peru.

#### Headers

| Name                                            | Type   | Description                         |
| ----------------------------------------------- | ------ | ----------------------------------- |
| Content-Type<mark style="color:red;">\*</mark>  | string | application/json; charset=UTF-8     |
| AppId<mark style="color:red;">\*</mark>         | string | Your App ID in payout platform.     |
| Authorization<mark style="color:red;">\*</mark> | string | SHA256($sorted\_params + $app\_key) |

#### Request Body

| Name                                                 | Type   | Description                                                                                                                     |
| ---------------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------- |
| name<mark style="color:red;">\*</mark>               | string | Beneficiary's name, length must between 5 and 100                                                                               |
| phone                                                | string | <p>Beneficiary's phone</p><p>- Max 15, valid phone -</p>                                                                        |
| email                                                | string | <p>Beneficiary's email<br>- Max 64, valid email -</p>                                                                           |
| bank\_code<mark style="color:red;">\*</mark>         | string | Bank code, see [***bank list***](/reference/payout/banklist/bank-in-peru.md)***​***                                             |
| account<mark style="color:red;">\*</mark>            | string | <p>Account</p><p>- 20-digit CCI interbank account code -</p>                                                                    |
| account\_type<mark style="color:red;">\*</mark>      | string | Should be one of CHECKING, SAVINGS.                                                                                             |
| document\_id<mark style="color:red;">\*</mark>       | string | Beneficiary document id                                                                                                         |
| document\_type<mark style="color:red;">\*</mark>     | string | Beneficiary document type, should be one of DNI, RUC, PAS, CE.                                                                  |
| fee\_bear<mark style="color:red;">\*</mark>          | string | <p>All fees charge to merchant or beneficiary<br>- One of: merchant, beneficiary -</p>                                          |
| custom\_code<mark style="color:red;">\*</mark>       | string | <p>Merchant's order id.</p><p>- Max.50 -</p>                                                                                    |
| method<mark style="color:red;">\*</mark>             | string | Fixed Value: BANKTRANSFER                                                                                                       |
| country<mark style="color:red;">\*</mark>            | string | Fixed value: PER, for Peru                                                                                                      |
| additional\_remark<mark style="color:red;">\*</mark> | string | <p>Additional Remark<br>- Max Length: 40 -</p>                                                                                  |
| notify\_url<mark style="color:red;">\*</mark>        | string | Where pagsmile will callback to                                                                                                 |
| arrival\_currency<mark style="color:red;">\*</mark>  | string | <p>Beneficiary's account currency.</p><p>- Fixed Value: PEN -</p>                                                               |
| source\_currency<mark style="color:red;">\*</mark>   | string | <p>Merchant's account currency</p><p>- supported: USD, GBP, EUR, PEN -</p>                                                      |
| amount\_type                                         | string | <p>Specify the amount value is fixed for merchant or beneficiary</p><p>- One of: source\_amount, arrival\_amount(default) -</p> |
| amount<mark style="color:red;">\*</mark>             | string | <p>Payout amount</p><p>- Min 0.01, Max 500,000 -</p>                                                                            |
| region<mark style="color:red;">\*</mark>             | string | @See [***Regions in Peru***](/reference/payout/submit-a-payout/peru/banktransfer/regions-in-peru.md)                            |

{% tabs %}
{% tab title="200: OK success" %}

```javascript
{
    "code": 200,
    "msg": "success",
    "time": 1628580845,
    "data": {
        "id": "TS202108100734054iRiUZFPXfQBPE",
        "custom_code": "custom_code9982674851738108",
        "arrival_amount": "100",
        "arrival_currency": "PEN",
        "source_amount": "0.07",
        "source_currency": "USD",
        "status": "IN_PROCESSING"
    }
}
```

{% endtab %}

{% tab title="400: Bad Request bad request" %}

```javascript
{
    "code": 4001000,
    "msg": "invalid parameter",
    "time": 1637224716,
    "data": {
        "err": "error detail message"
    }
}
```

{% endtab %}

{% tab title="401: Unauthorized unauthorized" %}

```javascript
{
    "code": 4004003,
    "msg": "permission denied",
    "time": 1637224716,
    "data": {}
}
```

{% endtab %}

{% tab title="500: Internal Server Error system error" %}

```javascript
{
    "code": 5001000,
    "msg": "system error",
    "time": 1637224716,
    "data": {
        "err": "error detail message"
    }
}
```

{% endtab %}

{% tab title="500: Internal Server Error fee not configured" %}

```javascript
{
    "code": 5001003,
    "msg": "fee not configured",
    "time": 1637224716,
    "data": {
        ... ...
    }
}
```

{% endtab %}

{% tab title="500: Internal Server Error balance insufficient" %}

```javascript
{
    "code": 5001102,
    "msg": "balance insufficient",
    "time": 1637224716,
    "data": {
        ... ...
    }
}
```

{% endtab %}
{% endtabs %}

## Example

```
curl --location --request POST 'https://sandbox.transfersmile.com/api/payout' \
--header 'AppId: 94FAC**********************68548' \
--header 'Authorization: d6181db0d6548b94b162e75d095b59147172d914699f83b2bd17951a671b6302' \
--header 'Content-Type: application/json' \
--data-raw '{
    * "name" : "GUILHERME ****** SOUZA",
      "phone" : "468****068",
      "email" : "g******me@gmail.com",
    * "bank_code": "0001", // Banco Continental
    * "account" : "00219400254640654321", // just for test in sandbox
    * "account_type" : "CHECKING",
    * "document_id" : "123456789", // just for test in sandbox, don't use this in production.
    * "document_type" : "PAS",
    * "method" : "BANKTRANSFER",
    * "custom_code" : "custom_code9982674851738108",
    * "fee_bear" : "merchant",
    * "amount" : "100", 
    * "source_currency" : "PEN",
    * "arrival_currency" : "PEN",
    * "notify_url" : "https://notify.url",
    * "additional_remark" : "pagsmile payout test",
    * "country": "PER",
    * "region": "Amazonas"
}'
```

{% hint style="info" %}
Note: ***94FAC\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*68548*** is Pagsmile's test App ID for sandbox, and ***d6181db0d6548b94b162e75d095b59147172d914699f83b2bd17951a671b6302*** is authorization token associated with the test App ID.
{% endhint %}

## Example of Document

| Document Type | Document           | Description   |
| ------------- | ------------------ | ------------- |
| DNI           | 0\*\*\*\*\*\*6     | 8 digits      |
| RUC           | 1\*\*\*\*\*\*\*\*8 | 11 digits     |
| PAS           | 2\*\*\*\*\*\*\*\*9 | 7 - 12 digits |
| CE            | 3\*\*\*\*\*\*\*\*9 | 8 - 12 digits |

## Example of Account

{% hint style="warning" %}
Starting from July 15th, 2025, 10 to 20-digit bank account numbers will no longer be supported. Only 20-digit CCI account codes are supported.
{% endhint %}

| Bank                              | Bank Code                         | Description                         |
| --------------------------------- | --------------------------------- | ----------------------------------- |
| Any bank or financial institution | Any bank or financial institution | 20-digit CCI interbank account code |
