# QRCODE

## Retrieve recipient data from QRCODE.

Retrieve the recipient's data by using the [API](/payout/retrieve-qrcode-data.md).

## 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                                                                                                                  |
| ---------------------------------------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------- |
| 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>                                                                 |
| method<mark style="color:red;">\*</mark>             | string | Fixed value: QRCODE                                                                                                          |
| 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>                                       |
| amount\_type                                         | String | <p>Specify the amount value is fixed for merchant or beneficiary<br>- One of: source\_amount, arrival\_amount(default) -</p> |
| amount<mark style="color:red;">\*</mark>             | number | <p>Payout Amount, 2 decimal numbers</p><p>- Min 1, Max 500,000 -  </p>                                                       |
| source\_currency<mark style="color:red;">\*</mark>   | string | <p>Merchant Account Currency<br>- One of: USD, EUR, GBP, PEN-</p>                                                            |
| arrival\_currency<mark style="color:red;">\*</mark>  | string | Fixed value: PEN                                                                                                             |
| notify\_url<mark style="color:red;">\*</mark>        | string | Where pagsmile will send notification to.                                                                                    |
| 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": 150,
    * "arrival_currency": "PEN", // fixed value: PEN
    * "custom_code" : "custom_code_your_order_id",
    * "fee_bear": "merchant",
    * "method": "QRCODE",   // fixed value: QRCODE
    * "notify_url": "https://notify.url",
    * "account": "0002015**************919",
    * "account_type": "qrcode",
    * "source_currency": "PEN", 
    * "additional_remark": "pagsmile payout test remark",
    * "country": "PER" // fixed value: 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>


---

# 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/qrcode.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.
