# Wallet

## &#x20;Submit a payout by Wallet in Peru.

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

This endpoint allows you to submit a payout by Wallet 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                                                                               |
| account<mark style="color:red;">\*</mark>            | string | <p>Beneficiary's wallet account<br>- 9 digits -</p>                                                                             |
| account\_type<mark style="color:red;">\*</mark>      | string | Fixed Value: PHONE                                                                                                              |
| 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: Wallet                                                                                                             |
| channel<mark style="color:red;">\*</mark>            | string | yape or Plin                                                                                                                    |
| 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>- channel=Plin: Min 10, Max 500<br>channel=Yape: Min 10, Max 3500 -</p>                                  |

{% 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",
    * "account" : "99*****79", // just for test in sandbox
    * "account_type" : "PHONE",
    * "document_id" : "47****35", // just for test in sandbox, don't use this in production.
    * "document_type" : "DNI",
    * "method" : "Wallet",
    * "channel : "yape", //yape or Plin
    * "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"
}'
```

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


---

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