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

# BankTransfer

Bank Transfer enables merchants to send payouts directly to beneficiaries' bank accounts in Paraguay. Payouts are processed in Paraguayan guaraní (`PYG`).

{% hint style="info" %}
Payouts are credited instantly after successful processing.
{% endhint %}

{% hint style="warning" %}
Refunds are not supported for this payment method.
{% endhint %}

### Submit a payout by Bank Transfer in Paraguay.

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

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

**Headers**

<table><thead><tr><th width="196.22265625">Name</th><th width="110.8984375">Type</th><th>Description</th></tr></thead><tbody><tr><td>Content-Type<mark style="color:red;">*</mark></td><td>String</td><td>Fixed value: <code>application/json; charset=UTF-8</code>.</td></tr><tr><td>AppId<mark style="color:red;">*</mark></td><td>String</td><td>Your App ID in the Pagsmile Payout platform.</td></tr><tr><td>Authorization<mark style="color:red;">*</mark></td><td>String</td><td><code>SHA256($sorted_params + $app_key)</code>.</td></tr></tbody></table>

**Request Body**

<table><thead><tr><th width="170.8828125">Name</th><th width="132.73046875">Type</th><th>Description</th></tr></thead><tbody><tr><td>amount<mark style="color:red;">*</mark></td><td>Number</td><td><p>Payout amount, denominated according to <code>amount_type</code>.</p><p>API validation range: <code>1–2,000,000</code>, with no more than 2 decimal places.</p><p>Production channel limit: the equivalent of <code>2.00–3,000.00 USD</code>.</p><p>When <code>amount_type</code> is <code>arrival_amount</code>, provide an integer amount in PYG.</p></td></tr><tr><td>amount_type</td><td>String</td><td><p>Specifies whether <code>amount</code> is fixed in the merchant's funding currency or the beneficiary's receiving currency.</p><p>One of: <code>source_amount</code>, <code>arrival_amount</code>.</p><p>Default: <code>arrival_amount</code>.</p></td></tr><tr><td>source_currency<mark style="color:red;">*</mark></td><td>String</td><td>Merchant account currency. One of: <code>USD</code>, <code>EUR</code>, <code>GBP</code>. The currency must be enabled for the merchant account.</td></tr><tr><td>arrival_currency<mark style="color:red;">*</mark></td><td>String</td><td>Fixed value: <code>PYG</code>.</td></tr><tr><td>fee_bear<mark style="color:red;">*</mark></td><td>String</td><td>Party responsible for the payout fee. One of: <code>merchant</code>, <code>beneficiary</code>.</td></tr><tr><td>phone<mark style="color:red;">*</mark></td><td>String</td><td>Beneficiary's valid phone number. Maximum length: 15 characters. A leading <code>+</code> is supported.</td></tr><tr><td>name<mark style="color:red;">*</mark></td><td>String</td><td>Beneficiary's name. Length: 2–100 characters. Only Unicode letters, spaces, and periods (<code>.</code>) are supported.</td></tr><tr><td>document_type<mark style="color:red;">*</mark></td><td>String</td><td>Beneficiary's identification document type. One of: <code>CI</code>, <code>RUC</code>.</td></tr><tr><td>document_id<mark style="color:red;">*</mark></td><td>String</td><td><p>Beneficiary's identification number.</p><p><code>CI</code>: exactly 7 digits.</p><p><code>RUC</code>: exactly 9 digits.</p></td></tr><tr><td>email<mark style="color:red;">*</mark></td><td>String</td><td>Beneficiary's valid email address. Maximum length: 65 characters.</td></tr><tr><td>account_type<mark style="color:red;">*</mark></td><td>String</td><td>Beneficiary's bank account type. One of: <code>SAVINGS</code>, <code>CHECKING</code>.</td></tr><tr><td>account<mark style="color:red;">*</mark></td><td>String</td><td>Beneficiary's bank account number. Must contain 6–16 digits.</td></tr><tr><td>bank_code<mark style="color:red;">*</mark></td><td>String</td><td>Bank code of the beneficiary's bank. See <a href="https://docs.pagsmile.com/reference/payout/banklist/bank-in-paraguay">Bank in Paraguay</a>.</td></tr><tr><td>custom_code<mark style="color:red;">*</mark></td><td>String</td><td>Merchant-defined unique payout ID. Maximum length: 50 characters.</td></tr><tr><td>notify_url<mark style="color:red;">*</mark></td><td>String</td><td>URL to which Pagsmile sends payout status notifications. Maximum length: 255 characters.</td></tr><tr><td>method<mark style="color:red;">*</mark></td><td>String</td><td>Fixed value: <code>BANKTRANSFER</code>.</td></tr><tr><td>additional_remark<mark style="color:red;">*</mark></td><td>String</td><td>Additional payout description. Length: 4–40 characters. Only letters, numbers, spaces, and underscores (<code>_</code>) are supported.</td></tr><tr><td>country<mark style="color:red;">*</mark></td><td>String</td><td>Fixed value: <code>PRY</code>.</td></tr></tbody></table>

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

```json
{
  "code": 200,
  "msg": "success",
  "time": 1789531124,
  "data": {
    "id": "TS202****BPY",
    "custom_code": "custom_code16****157dY",
    "arrival_amount": "6500",
    "arrival_currency": "PYG",
    "source_amount": "0.82",
    "source_currency": "USD",
    "status": "IN_PROCESSING"
  }
}
```

{% endtab %}

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

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

{% endtab %}

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

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

{% endtab %}

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

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

{% endtab %}

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

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

{% endtab %}

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

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

{% endtab %}
{% endtabs %}

### Example

```json
{
  "amount": 6500,
  "source_currency": "USD",
  "arrival_currency": "PYG",
  "fee_bear": "merchant",
  "phone": "+595981234567",
  "name": "Test",
  "document_type": "CI",
  "document_id": "51***14",
  "email": "test@mail.com",
  "account_type": "SAVINGS",
  "account": "321***123",
  "custom_code": "custom_code10***7dY",
  "notify_url": "https://merchant.example.com/payout/notify",
  "method": "BANKTRANSFER",
  "additional_remark": "CBPay Paraguay test",
  "country": "PRY",
  "bank_code": "020"
}
```

{% hint style="info" %}
Because `amount_type` is omitted in this example, it defaults to `arrival_amount`; therefore, `amount` represents the amount received by the beneficiary in PYG.
{% endhint %}

### Example of Document

| Document Type | Length | Document Example | Description                      |
| ------------- | ------ | ---------------- | -------------------------------- |
| `CI`          | 7      | `1234567`        | Cédula de Identidad              |
| `RUC`         | 9      | `123456789`      | Registro Único del Contribuyente |

### Example of Account

| Account Type | Account Length | Account Format |
| ------------ | -------------- | -------------- |
| `SAVINGS`    | 6–16           | Numeric        |
| `CHECKING`   | 6–16           | Numeric        |

{% hint style="warning" %}
A successful API response means that the payout request has been accepted for processing. Use payout notifications or the Payout Detail API to determine the final payout status.
{% endhint %}
