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

# QRCODE

## Retrieve recipient data from QRCODE.

Retrieve the recipient's data by using the [API](https://docs.pagsmile.com/reference/payout/retrieve-qrcode-data/peru).

## Submit a payout by QRCODE in Peru.

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

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

#### Headers

| Name                                            | Type   | Description                         |
| ----------------------------------------------- | ------ | ----------------------------------- |
| Content-Type<mark style="color:red;">\*</mark>  | string | application/json; chartset=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                                                                                         |
| ---------------------------------------------------- | ------ | --------------------------------------------------------------------------------------------------- |
| amount<mark style="color:red;">\*</mark>             | number | <p>Payout Amount, 2 decimal numbers</p><p>- Min 1, Max 500,000 -</p>                                |
| arrival\_currency<mark style="color:red;">\*</mark>  | string | Fixed value: PEN                                                                                    |
| custom\_code<mark style="color:red;">\*</mark>       | string | <p>Merchant Payout ID<br>- Max. 50 chars -</p>                                                      |
| fee\_bear<mark style="color:red;">\*</mark>          | string | <p>All fees charge to merchant or beneficiary<br>- One of: merchant, beneficiary -</p>              |
| method<mark style="color:red;">\*</mark>             | string | Fixed value: QRCODE                                                                                 |
| notify\_url<mark style="color:red;">\*</mark>        | string | Where Pagsmile will send notification to.                                                           |
| account<mark style="color:red;">\*</mark>            | string | <p>Beneficiary's QRCode<br>- Max 255 -</p>                                                          |
| account\_type<mark style="color:red;">\*</mark>      | string | <p>Beneficiary's account type<br>- Fixed value: QRCODE -</p>                                        |
| scan\_id<mark style="color:red;">\*</mark>           | string | <p>The scan\_id is valid for 5 minutes after retrieval and can be used only once.<br>- Max 50 -</p> |
| source\_currency<mark style="color:red;">\*</mark>   | string | <p>Merchant Account Currency<br>- One of: USD, EUR, GBP, PEN -</p>                                  |
| additional\_remark<mark style="color:red;">\*</mark> | string | <p>Descriptor on the user's bank bill<br>- Max length: 40 -</p>                                     |
| country<mark style="color:red;">\*</mark>            | string | PER for Peru                                                                                        |

{% tabs %}
{% tab title="200: OK submit successfully" %}

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

{% endtab %}

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

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

{% endtab %}

{% tab title="400: Bad Request order already existed" %}

```
{
    "code": 4001020,
    "msg": "order already existed",
    "time": 1628580940,
    "data": {}
}
```

{% endtab %}

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

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

{% endtab %}

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

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

{% endtab %}

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

```javascript
{
    "code": 5001003,
    "msg": "fee not configured",
    "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 '{
    "amount": 1000,
    "arrival_currency": "PEN",
    "custom_code": "custom_code_your_order_id",
    "fee_bear": "merchant",
    "method": "QRCODE",
    "notify_url": "https://notify.url",
    "account": "0002015**************919",
    "account_type": "QRCODE",
    "scan_id": "QH2026********",
    "source_currency": "PEN",
    "additional_remark": "pagsmile payout test remark",
    "country": "PER"
}'
```

{% 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 %}

#### Cut-off Schedule of Peru Banks

<figure><img src="/files/DrrRw79SJZyBiAe5c5wa" alt=""><figcaption></figcaption></figure>
