> For the complete documentation index, see [llms.txt](https://developers.supefina.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.supefina.net/bienvenido-a-la-documentacion-api-de-supefina/caja-delegada-de-cobranza/mexico.md).

# México

En México, ofrecemos productos de pago como transferencias bancarias (SPEI), pagos en efectivo (Cash) y tajets de crédito y débito.

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

### Productos de pago actualmente soportados:

1. Efectivo
2. SPEI
3. tajets de crédito y débito

### Proceso de pago

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

1、El usuario realiza un pedido en el sitio/app del comerciante, abre la pasarela de pago agregada y elige el método de pago deseado para pagar;

2、El comerciante envía una solicitud de pago a Supefina;

3、Supefina devuelve la dirección de pago correspondiente;

4、El comerciante abre esa dirección del lado del usuario;

5、El usuario verifica y paga según las indicaciones de la página;

6、El usuario realiza el pago con éxito;

7、Supefina notifica al comerciante sobre la información de éxito del pago.

### Dirección de solicitud

<table><thead><tr><th width="135.54547119140625">Entorno</th><th>URL</th></tr></thead><tbody><tr><td>SandBox</td><td><br><code>POST</code> https://api.supefina.tech/api/supefina/transactions/payin</td></tr><tr><td>Producción</td><td><p><code>POST</code></p><p>https://api.supefina.net/api/supefina/transactions/payin</p></td></tr></tbody></table>

### Parámetros de solicitud <a href="#parametros-de-solicitud" id="parametros-de-solicitud"></a>

#### **Encabezado de solicitud**

<table><thead><tr><th width="277.3636474609375">Key</th><th>Value</th></tr></thead><tbody><tr><td><code>Content-Type</code></td><td><code>application/json</code></td></tr></tbody></table>

### **Cuerpo de solicitud**

<table><thead><tr><th width="159.9090576171875">Nombre de variable</th><th width="118.0909423828125">Tipo</th><th width="104.6363525390625">Obligatorio</th><th width="696">Descripción</th></tr></thead><tbody><tr><td>merorderNo</td><td>String</td><td>Sí</td><td>Número de pedido del comerciante</td></tr><tr><td>countryld</td><td>String</td><td>Sí</td><td><p>Código del país </p><p>Referencia：<a href="https://developers.supefina.net/bienvenido-a-la-documentacion-api-de-supefina/diccionarios-y-recursos/tabla-de-diccionario#afwzp">Tabla de diccionario-Código del país</a> </p><p>Mexico：<code>MEX</code></p></td></tr><tr><td>customerName</td><td>String</td><td>Sí</td><td>Nombre del usuario</td></tr><tr><td>orderAmount</td><td>BigDecimal</td><td>Sí</td><td><p></p><p>Monto del pedido (solo se admite el pago de monto fijo)</p><ol><li>Si la cantidad pagada por el usuario no coincide con el monto del pedido, realizaremos un reembolso correspondiente. Si no es posible reembolsar, un representante operativo se pondrá en contacto.</li><li>Si el usuario realiza el pago fuera del período de validez de la caja de cobro, también procederemos con el reembolso correspondiente. Si no es posible reembolsar, un representante operativo se pondrá en contacto.</li><li>Las operaciones de reembolso aplicarán comisiones según el método de pago, por favor tome nota.</li><li>Puede contactar con el personal operativo para conocer el monto de la comisión.</li></ol></td></tr><tr><td>merld</td><td>String</td><td>Sí</td><td><p>ID del comerciante</p><p>Ruta para obtener el ID del comerciante: Panel de comerciante Supefina - Gestión de comerciantes - Información básica - ID del comerciante</p></td></tr><tr><td>currency</td><td>String</td><td>Sí</td><td><p>Moneda </p><p>Referencia：<a href="https://developers.supefina.net/bienvenido-a-la-documentacion-api-de-supefina/diccionarios-y-recursos/tabla-de-diccionario#huo-bi-currency">Tabla de diccionario-Moneda</a> </p><p>Peso mexicano：<code>MXN</code></p></td></tr><tr><td>checkOut</td><td>Boolean</td><td>Sí</td><td>Condición para mostrar la caja de cobro agregada<br>En este modo, solo se admite pasar el valor como verdadero  <code>true</code></td></tr><tr><td>description</td><td>String</td><td>Sí</td><td><p>Descripción de pago</p><p>No puede contener símbolos especiales, y la longitud no debe exceder los 200 caracteres.</p></td></tr><tr><td>nonceStr</td><td>String</td><td>Sí</td><td><p>Cadena aleatoria</p><p>La longitud no puede exceder 32 caracteres</p></td></tr><tr><td>sign</td><td>String</td><td>Sí</td><td><p>Firma</p><p><a href="https://developers.supefina.net/bienvenido-a-la-documentacion-api-de-supefina/algoritmo-de-firma">Referencia específica: algoritmo de firma</a></p></td></tr><tr><td>payProduct</td><td>String</td><td>No</td><td>Tipo de pago<br>Si no se especifica, se mostrará la caja de cobro con todos los métodos de pago configurados por el comerciante.<br>Si se especifican métodos de pago particulares, la caja de cobro solo mostrará esos métodos.<br>Nota:<br>Si se especifica un método de pago que no está configurado, se devolverá un mensaje de error.</td></tr><tr><td>callbackUrl</td><td>String</td><td>No</td><td><p>Dirección de callback</p><p>Consulte la <a href="https://developers.supefina.net/bienvenido-a-la-documentacion-api-de-supefina/notificacion-de-callback">explicación de notificación de callback</a></p></td></tr><tr><td>expireTimeL</td><td>Long</td><td>No</td><td><p>Tiempo de expiración de la caja de cobro (en segundos)</p><ol><li>Si no se especifica, el valor predeterminado es 12 horas.</li><li>Si el tiempo proporcionado es menor de 3 minutos o mayor de 7 días, también se establecerá por defecto en 12 horas.</li></ol></td></tr><tr><td>requestData</td><td>Object</td><td>No</td><td>Parámetro adicional<br>Nota: Si el comerciante ha configurado el método de pago en efectivo, este parámetro es obligatorio.</td></tr><tr><td>businessUnit</td><td>Object</td><td>Sí</td><td>Unidad de negocio</td></tr><tr><td>name</td><td>String</td><td>Sí</td><td>Nombre de la unidad de negocio</td></tr><tr><td>key</td><td>String</td><td>Sí</td><td>Identificador único de la unidad de negocio</td></tr><tr><td>showHtmlFlag</td><td>String</td><td>Sí</td><td><p>Mostrar página de cobro en HTML.</p><p>Página de cobro URL：<code>1</code></p></td></tr><tr><td>repeat</td><td>Boolean</td><td>No</td><td>¿La Clabe se reutiliza?<br>Nota: Si se especifica <code>payProduct</code> como <code>15</code> (SPEI), este parámetro es obligatorio.<br>true: Uso múltiple</td></tr><tr><td>productName</td><td>String</td><td>Sí</td><td><p><br>Nombre del producto</p><p>Máximo 50 caracteres<br>Si el comerciante ha configurado el método de pago con tarjeta, este parámetro es obligatorio.</p></td></tr><tr><td>email</td><td>String</td><td>No</td><td><p>Correo electrónico del usuario</p><p>3-256 caracteres<br>Si el comerciante ha configurado el método de pago con tarjeta, este parámetro es obligatorio.</p></td></tr><tr><td>receiverAddressMain</td><td>String</td><td>No</td><td><p>Dirección de recepción, calle</p><p>0-50 caracteres<br>Si el comerciante ha configurado el método de pago con tarjeta, este parámetro es obligatorio.</p></td></tr><tr><td>receiverAddressExtra</td><td>String</td><td>No</td><td><p>Dirección de recepción, número</p><p>0-50 caracteres<br>Si el comerciante ha configurado el método de pago con tarjeta, este parámetro es obligatorio.</p></td></tr><tr><td>receiverCity</td><td>String</td><td>No</td><td><p>Dirección de recepción, Ciudad</p><p>0-50 caracteres<br>Si el comerciante ha configurado el método de pago con tarjeta, este parámetro es obligatorio.</p></td></tr><tr><td>receiverProvince</td><td>String</td><td>No</td><td><p>Dirección de recepción, Provincia o Estado</p><p>0-40 caracteres<br>caracteres：https://en.wikipedia.org/wiki/ISO_3166-2z</p><p>Ejemplo：NY<br>Si el comerciante ha configurado el método de pago con tarjeta, este parámetro es obligatorio.</p></td></tr><tr><td>receiverCountry</td><td>String</td><td>No</td><td><p>País de receptor</p><p>Referencia：<a href="https://developers.supefina.net/bienvenido-a-la-documentacion-api-de-supefina/diccionarios-y-recursos/tabla-de-diccionario#afwzp">Tabla de diccionario-Código del país</a></p><p>Ejemplo: BRA<br>Si el comerciante ha configurado el método de pago con tarjeta, este parámetro es obligatorio.</p></td></tr><tr><td>receiverZipCode</td><td>String</td><td>No</td><td><p>Código Postal</p><p>0-12 letras o números<br>Si el comerciante ha configurado el método de pago con tarjeta, este parámetro es obligatorio.</p></td></tr><tr><td>receiverPhone</td><td>String</td><td>No</td><td><p>Teléfono de receptor</p><p>5-20 caracteres, Ejemplo: +1 123456789<br>Si el comerciante ha configurado el método de pago con tarjeta, este parámetro es obligatorio.</p></td></tr></tbody></table>

### Ejemplo de solicitud

1 , Habilitar todos los métodos de pago — No envíes el parámetro `payProduct`.

```
{
    "merOrderNo": "20240920195501",
    "sign": "xxxx",
    "requestData": {
        "businessUnit": {
            "key": "11",
            "name": "123456"
        },
        "showHtmlFlag": "1"
    },
    "countryId": "MEX",
    "nonceStr": "20240920195501",
    "customerName": "xx",
    "orderAmount": 100,
    "merId": "xxxxx",
    "checkOut": "true",
    "currency": "MXN",
    "callbackUrl": "xxxx",
    "productName": "test1",
    "email": "xxxx",
    "receiverAddressMain": "xxxx",
    "receiverAddressExtra": "xx",
    "receiverCity": "xxxx",
    "receiverCountry": "MEX",
    "receiverPhone": "+86123456789012345",
    "receiverProvince": "Example city",
    "receiverZipCode": "xxx",
    "description": "supefina",
    "expireTimeL": 3600
}
```

2,  Habilitar métodos de pago parciales (efectivo y SPEI) — No enviar el parámetro payProduct.

```
{
    "merOrderNo": "20240920195501",
    "sign": "xxxx",
    "requestData": {
        "businessUnit": {
            "key": "1098345673212",
            "name": "epay"
        },
        "showHtmlFlag": "1"
    },
    "countryId": "MEX",
    "nonceStr": "20240920195501",
    "customerName": "xxx",
    "orderAmount": 100,
    "merId": "xxxxx",
    "checkOut": "true",
    "currency": "MXN",
    "callbackUrl": "xxxx",
    "description": "supefina",
    "expireTimeL": 3600
}
```

3, Habilitar métodos de pago parciales (efectivo y tarjeta) — No enviar el parámetro `payProduct` .

```
{
    "merOrderNo": "20240920195501",
    "sign": "xxxx",
    "requestData": {
        "businessUnit": {
            "key": "11",
            "name": "123456"
        },
        "showHtmlFlag": "1"
    },
    "countryId": "MEX",
    "nonceStr": "20240920195501",
    "customerName": "xx",
    "orderAmount": 100,
    "merId": "xxxxx",
    "checkOut": "true",
    "currency": "MXN",
    "callbackUrl": "xxxx",
    "productName": "test1",
    "email": "xxxx",
    "receiverAddressMain": "xxxx",
    "receiverAddressExtra": "xx",
    "receiverCity": "xxxx",
    "receiverCountry": "MEX",
    "receiverPhone": "+86123456789012345",
    "receiverProvince": "Example city",
    "receiverZipCode": "xxx",
    "description": "supefina",
    "expireTimeL": 3600
}
```

5, Especificar los métodos de pago.

* payProduct：03

```
{
    "merOrderNo": "20240920195501",
    "sign": "xxxxxx",
    "requestData": {
        "businessUnit": {
            "key": "111",
            "name": "123456"
        },
        "showHtmlFlag": "1"
    },
    "payProduct":"03",
    "countryId": "MEX",
    "nonceStr": "20240920195501",
    "customerName": "xxx",
    "orderAmount": 100,
    "merId": "xxxxx",
    "checkOut": "true",
    "currency": "MXN",
    "callbackUrl": "xxxxxx",
    "description": "supefina",
    "expireTimeL": 3600
}
```

* payProduct：15

```
{
    "merOrderNo": "20240920195501",
    "sign": "xxxxx",
    "payProduct":"15",
    "repeat":true,
    "countryId": "MEX",
    "nonceStr": "20240920195501",
    "customerName": "xxxx",
    "orderAmount": 100,
    "merId": "xxxxx",
    "checkOut": "true",
    "currency": "MXN",
    "callbackUrl": "xxxxxx",
    "description": "supefina",
    "expireTimeL": 3600
}
```

* payProduct：18

```
{
    "merOrderNo": "20240920195501",
    "sign": "xxxxxxx",
    "payProduct":"18",
    "countryId": "MEX",
    "nonceStr": "20240920195501",
    "customerName": "xxxx",
    "orderAmount": 100,
    "merId": "xxxxx",
    "checkOut": "true",
    "currency": "MXN",
    "callbackUrl": "xxxxx",
    "productName": "test1",
    "email": "xxxxxx",
    "receiverAddressMain": "xxxxxx",
    "receiverAddressExtra": "xxxxx",
    "receiverCity": "Example city",
    "receiverCountry": "MEX",
    "receiverPhone": "+86123456789012345",
    "receiverProvince": "Example city",
    "receiverZipCode": "xxxxx",
    "description": "supefina",
    "expireTimeL": 3600
}
```

### Parámetros de respuesta

<table><thead><tr><th width="171.3636474609375">Nombre de variable</th><th width="282">Tipo</th><th width="370">Descripcion</th></tr></thead><tbody><tr><td>code</td><td>String</td><td>Código de respuesta<br>Referencia especifica:<br>Códigos de estado de<br>respuesta</td></tr><tr><td>msg</td><td>String</td><td>Descripción de la respuesta</td></tr><tr><td>data</td><td>Object</td><td>Datos de respuesta</td></tr><tr><td>merCode</td><td>String</td><td>ID de comerciante</td></tr><tr><td>merOrderNo</td><td>String</td><td>Número de pedido del<br>comerciante</td></tr><tr><td>supefinaOrderNo</td><td>String</td><td>Número de pedido del<br>supefina</td></tr><tr><td>amount</td><td>BigDecimal</td><td>Monto del pedido</td></tr><tr><td>currency</td><td>String</td><td>Moneda<br>Referencia:Tabla de<br>diccionario-Moneda<br>Peso mexicano:MXN</td></tr><tr><td>url</td><td>String</td><td>Enlace de la transacción</td></tr></tbody></table>

**Ejemplo de respuesta-**&#xC9;xito

```
{
    "code": "200",
    "msg": "success ",
    "data": {
        "merCode": "xxxxx",
        "merOrderNo": "20240920195501",
        "supefinaOrderNo": "2025011877286055912513536",
        "amount": 100,
        "url": "http://h5.supefina.tech/combineCashier?token=3eeec61dc9544b41b9086e953b52571c",
        "currency": "MXN"
    }
}
```

**Ejemplo de respuesta-**&#x46;racaso

```
{
    "code": "400",
    "msg": "param error : requestData is null"
}

```

#### **Notificación de callback** <a href="#notificacion-de-callback" id="notificacion-de-callback"></a>

Método de envío: `POST`

<table><thead><tr><th width="156.0909423828125">Nombre de variable</th><th width="135">Tipo</th><th width="683">Descripción</th></tr></thead><tbody><tr><td>amount</td><td>String</td><td>Monto del pedido</td></tr><tr><td>countryld</td><td>String</td><td><p>Código del país</p><p>Referencia：<a href="https://developers.supefina.net/bienvenido-a-la-documentacion-api-de-supefina/diccionarios-y-recursos/tabla-de-diccionario#afwzp">Tabla de diccionario-Código del país</a> Colombia, COL<br>Mexico:MEX</p></td></tr><tr><td>fee</td><td>String</td><td>Comision anticipada</td></tr><tr><td>identifier</td><td>String</td><td>Referencia de pago</td></tr><tr><td>merld</td><td>String</td><td>ID de comerciante</td></tr><tr><td>merOrderld</td><td>String</td><td>Número de pedido del comerciante</td></tr><tr><td>msg</td><td>String</td><td>Mensajes</td></tr><tr><td>nonceStr</td><td>String</td><td>Cadena aleatoria<br>La longitud no puede exceder 32<br>caracteres</td></tr><tr><td>realityAmount</td><td>String</td><td>Monto recibido</td></tr><tr><td>realityFee</td><td>String</td><td>Comisión  recibida</td></tr><tr><td>reference</td><td>String</td><td>Identificador</td></tr><tr><td>sign</td><td>String</td><td>Firma</td></tr><tr><td>status</td><td>String</td><td>Estado de la transacción<br>Referencia especifica : Tabla de diccionario-Estado del pedido de transacción</td></tr><tr><td>successTime</td><td>String</td><td><p>Tiempo de éxito de la transacción</p><p>Hora UTC</p></td></tr><tr><td>supefinaOrderld</td><td>String</td><td>Número del pedido de Supefina</td></tr><tr><td>transactionType</td><td>String</td><td><p>Tipo de transacción </p><p><code>01</code>：Payin </p><p><code>02</code>：Payout</p></td></tr></tbody></table>

### Ejemplo de notificación de callback

```
{
    "amount": "30.00",
    "countryId": "MEX",
    "fee": "3.30",
    "identifier": "706180968985601627",
    "merId": "8302636872670229",
    "merOrderId": "P1790641845848850466",
    "msg": "SUCCESS",
    "nonceStr": "03aeeb11-0ad8-42dd-9f00-be1aae",
    "realityAmount": "30.00",
    "realityFee": "3.30",
    "reference": "3843CP03202405190062858560",
    "sign": "27C5933E426DD7A9EABD5C9D50F6BEBE",
    "status": "01",
    "successTime": 1715757366244,
    "supefinaOrderId": "202405150301469d1e0b38e7fdc46",
    "transactionType": "01"
}
```

**Respuesta de notificación de callback**

Después de que el comerciante reciba correctamente la notificación de callback, debe devolver la cadena especificada: `SUCCESS`. Si no se devuelve o se devuelve otro contenido, se considerará que la notificación ha fallado. Por ejemplo:

```
public String test(){
	return "SUCCESS";
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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://developers.supefina.net/bienvenido-a-la-documentacion-api-de-supefina/caja-delegada-de-cobranza/mexico.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.
