# BankTransfer

## &#x20;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***](/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***](/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 |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pagsmile.com/payout/submit-a-payout/peru/banktransfer.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
