---
description: Dónde enviar un payout por SPEI en Mexico.
---

# SPEI

## Enviar un payout por SPEI en Mexico

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

Este endpoint te permite usar SPEI para realizar un payout en Mexico.

#### Headers

| Name                                            | Type   | Description                         |
| ----------------------------------------------- | ------ | ----------------------------------- |
| Content-Type<mark style="color:red;">\*</mark>  | string | application/json; charset=UTF-8     |
| AppId<mark style="color:red;">\*</mark>         | string | APP ID en la plataforma de payout   |
| Authorization<mark style="color:red;">\*</mark> | string | SHA256($sorted\_params + $app\_key) |

#### Request Body

| Name                                                 | Type   | Description                                                                             |
| ---------------------------------------------------- | ------ | --------------------------------------------------------------------------------------- |
| name<mark style="color:red;">\*</mark>               | string | Nombre de beneficiario, longitud entre 5 y 100                                          |
| phone                                                | string | Teléfono de beneficiario                                                                |
| email                                                | string | Correo de beneficiario                                                                  |
| bank\_code<mark style="color:red;">\*</mark>         | number | Código de banco, ver [_**bank list**_](../../bank-code/bank-in-mexico)                  |
| account<mark style="color:red;">\*</mark>            | number | Longitud de cuenta es 18                                                                |
| account\_type<mark style="color:red;">\*</mark>      | string | Uno entre \[debit \| phone \| clabe]                                                    |
| document\_id<mark style="color:red;">\*</mark>       | string | Número de identificación de beneficiario                                                |
| document\_type<mark style="color:red;">\*</mark>     | string | Uno entre \[RFC \| CURP \| ND]                                                          |
| method<mark style="color:red;">\*</mark>             | string | Payout método, e.g. SPEI                                                                |
| custom\_code<mark style="color:red;">\*</mark>       | string | Payout ID de merchant                                                                   |
| fee\_bear<mark style="color:red;">\*</mark>          | string | Uno entre \[beneficiario \| merchant]                                                   |
| amount<mark style="color:red;">\*</mark>             | number | <p>Monto de Payout</p><p>- Max. 2 números decimales</p><p>- Min 0.01, Max 50,000 - </p> |
| source\_currency<mark style="color:red;">\*</mark>   | string | <p>Moneda de cuenta de merchant<br>Sólo uno: USD, EUR, GBP, MXN </p>                    |
| arrival\_currency<mark style="color:red;">\*</mark>  | string | MXN en Mexico                                                                           |
| notify\_url<mark style="color:red;">\*</mark>        | string | Donde Pagsmile enviará el callback                                                      |
| additional\_remark<mark style="color:red;">\*</mark> | string | <p>Comentario adicional<br>- Max Long: 40 - </p>                                        |
| country<mark style="color:red;">\*</mark>            | string | MEX por Mexico                                                                          |

{% tabs %}
{% tab title="200: OK Envío exitoso" %}
```
{
    "code": 200,
    "msg": "success",
    "time": 1628580845,
    "data": {
        "id": "S202108100734054iRiUZFPXfQM",
        "custom_code": "custom_code9982674851738108",
        "arrival_amount": "0.51",
        "arrival_currency": "MXN",
        "source_amount": "0.07",
        "source_currency": "USD",
        "status": "IN_PROCESSING"
    }
}
```
{% endtab %}

{% tab title="400: Bad Request Orden ya existe" %}
```
{
    "code": 4001010,
    "msg": "order already existed",
    "time": 1628580940,
    "data": {}
}
```
{% endtab %}

{% tab title="401: Unauthorized Desautorizado" %}
```javascript
{
    "code": 4004003,
    "msg": "permission denied",
    "time": 1637224716,
    "data": {
        ... ...
    }
}
```
{% endtab %}

{% tab title="500: Internal Server Error Tarifa no configurada" %}
```javascript
{
    "code": 5001003,
    "msg": "fee not configured",
    "time": 1637224716,
    "data": {
        ... ...
    }
}
```
{% endtab %}

{% tab title="500: Internal Server Error Balance insuficiente" %}
```javascript
{
    "code": 5001102,
    "msg": "balance insufficient",
    "time": 1637224716,
    "data": {
        ... ...
    }
}
```
{% endtab %}

{% tab title="500: Internal Server Error Error de sistema" %}
```javascript
{
    "code": 5001000,
    "msg": "system error",
    "time": 1637224716,
    "data": {
        ... ...
    }
}
```
{% endtab %}
{% endtabs %}

## Ejemplo

```
curl --location --request POST 'http://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" : "90646",
    * "account" : "64618**********1800",
    * "account_type" : "clabe",
    * "document_id" : "CUP800****691",
    * "document_type" : "RFC",
    * "method" : "SPEI", // fixed value: SPEI
    * "custom_code" : "custom_code9982674851738108", // merchant order id
    * "fee_bear" : "merchant",
    * "amount" : "0.51",
    * "source_currency" : "USD",
    * "arrival_currency" : "MXN", // fixed value: MXN
    * "notify_url" : "https://notify.url",
    * "additional_remark" : "pagsmile payout test remark",
    * "country" : "MEX" // fixed value: MEX
}'
```

{% hint style="info" %}
Nota: **94FAC\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*68548** es el test ID de pagsmile para prueba en sandbox, y **d6181db0d6548b94b162e75d095b59147172d914699f83b2bd17951a671b6302** es el token de autorización asociado con el app ID de prueba.
{% endhint %}

{% hint style="success" %}
En ambiente **sandbox**, favor usar _<mark style="color:red;">**100000000000000000**</mark>_ como cuenta  <mark style="color:blue;">**SPEI**</mark> para probar **Failed** payout, cuanlquier otra cuenta <mark style="color:blue;">**SPEI**</mark> será exitoso.
{% endhint %}

## Ejemplo de cuenta SPEI <a href="#example-of-pix-account" id="example-of-pix-account"></a>

| Tipo cuenta | Cuenta             | Texto      |
| ----------- | ------------------ | ---------- |
| clabe       | 112233445566778899 | 18 dígitos |
| debit       | 1122334455667788   | 16 dígitos |
| phone       | 5522123456         | 10 dígitos |

{% tabs %}
{% tab title="Tipo de documento en Mexico" %}
Contribuyentes mexicanos pueden obtener RFC.&#x20;

Los RFC tienen 13 dígitos para individuos, 12 para empresas, y están formados por letras y números. Los primeros 4 dígitos para individuos, o 3 para empresas, se toman del nombre, luego hay seis números que denotan la fecha de nacimiento o cuándo se fundó el negocio, y los dígitos finales son dígitos de control.



Ciudadano o residente mexicano podría obtener CURP.

Es un número de seguro social de 18 dígitos para las personas que viven en México. Los 18 caracteres combinan información derivada de su nombre, fecha y lugar de nacimiento, y género para crear un código único.


{% endtab %}
{% endtabs %}









