# Perú

IEn Perú, ofrecemos productos de pago como transferencias bancarias (Transfer), pagos en efectivo (Cash), billeteras electrónicas (Wallet) y todos los medios de ntegración de múltiples métodos de pago

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

### Productos de pago actualmente soportados:

1. Efectivo
2. Transfer

### 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="112.27264404296875">Tipo</th><th width="85">Obligatorio</th><th width="696">Descripción</th></tr></thead><tbody><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>Perú：<code>PER</code></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>Sol peruano：<code>PEN</code></p></td></tr><tr><td>orderAmount</td><td>String</td><td>Sí</td><td>Monto del pedido</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>customerIdentificationType</td><td>String</td><td>Sí</td><td><p>Tipo de identificación del usuario</p><p><code>00</code>：Cédula de Ciudadanía (CC)</p><p><code>01</code>：Carnet de extranjería (CE)</p><p><code>02</code>: Número de identificación fiscal,</p><p><code>03</code>：Pasaporte (PAS)</p><p><code>04</code>：Permiso de salida (PAR)</p><p><code>05</code>：Identificación de oficial militar (LMI)</p></td></tr><tr><td>customerIdentification</td><td>String</td><td>Sí</td><td><p>Número de identificación del usuario </p><p><code>00</code>: Cédula de Ciudadanía (CC), 8 dígitos</p><p> <code>01</code>: Carnet de extranjería (CE), más de 9 dígitos </p><p><code>02</code>: Número de identificación fiscal, 11 dígitos </p><p><code>03</code>: Pasaporte, más de 9 dígitos </p><p><code>04</code>: Permiso de salida (PAR) <code>05</code>: Libreta militar (LMI)</p><p>El mismo número de identificación del cliente (<code>customerIdentification</code>) se puede usar para realizar payin un máximo de 20 veces al día.</p></td></tr><tr><td>customerName</td><td>String</td><td>Sí</td><td>Nombre del usuario</td></tr><tr><td>lastName</td><td>String</td><td>Sí</td><td>Apellido del usuario</td></tr><tr><td>customerPhone</td><td>String</td><td>Sí</td><td>Teléfono del usuario, 9 dígito<strong>s</strong> Ejemplo：975728895</td></tr><tr><td>customerEmail</td><td>String</td><td>Sí</td><td>Correo electrónico del usuario</td></tr><tr><td>expireTimeL</td><td>Long</td><td>No</td><td><p>Tiempo de expiración de la caja registradora (en segundos)</p><ol><li>Si no se especifica, el valor predeterminado es 12 horas.</li><li>Si el tiempo especificado es inferior a 3 minutos o superior a 7 días, también se considerará como 12 horas por defecto.</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>merorderNo</td><td>String</td><td>Sí</td><td>Número de pedido del comerciante</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>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>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>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></tbody></table>

### Ejemplo de solicitud

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

```
{
    "customerIdentificationType": "00",
    "lastName": "xxxx",
    "merOrderNo": "20240920195501",
    "sign": "xxxxxx",
    "customerIdentification": "22345678",
    "countryId": "PER",
    "nonceStr": "20240920195501",
    "customerName": "xxxx",
    "customerPhone": "1234567890",
    "orderAmount": 100,
    "customerEmail": "123456@qq.com",
    "merId": "xxxxxxx",
    "checkOut": "true",
    "description":"supefina",
    "currency": "PEN",
    "callbackUrl": "xxxxxxxx"
}
```

5, Especificar los métodos de pago.

* payProduct：03

```
{
    "customerIdentificationType": "00",
    "payProduct":"03",
    "lastName": "xxxx",
    "merOrderNo": "20240920195501",
    "sign": "xxxxxx",
    "customerIdentification": "22345678",
    "countryId": "PER",
    "nonceStr": "20240920195501",
    "customerName": "xxxx",
    "customerPhone": "1234567890",
    "orderAmount": 100,
    "customerEmail": "123456@qq.com",
    "merId": "xxxxxxx",
    "checkOut": "true",
    "description":"supefina",
    "currency": "PEN",
    "callbackUrl": "xxxxxxxx"
}
```

* payProduct：12

```
{
    "customerIdentificationType": "00",
    "payProduct":"12",
    "lastName": "xxxx",
    "merOrderNo": "20240920195501",
    "sign": "xxxxxx",
    "customerIdentification": "22345678",
    "countryId": "PER",
    "nonceStr": "20240920195501",
    "customerName": "xxxx",
    "customerPhone": "1234567890",
    "orderAmount": 100,
    "customerEmail": "123456@qq.com",
    "merId": "xxxxxxx",
    "checkOut": "true",
    "description":"supefina",
    "currency": "PEN",
    "callbackUrl": "xxxxxxxx"
}
```

### 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</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": "xxxxxx",
        "merOrderNo": "20240920195501",
        "supefinaOrderNo": "2025011877295415489306624",
        "amount": 100,
        "url": "http://h5.supefina.tech/combineCashier?token=349472b99a184e0f9da91a3b290d4ad7",
        "currency": "PEN"
    }
}
```

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

```
{
    "code": "400",
    "msg": "param error customerName cannot be empty"
}

```

#### **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></p><p>Perú：<code>PER</code></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": "230.00",
    "countryId": "PER",
    "customerName": "Test Name",
    "fee": "6.90",
    "identifier": "90911988431",
    "merId": "8202980903390150",
    "merOrderId": "17922853818122896811753697281175369728",
    "nonceStr": "935111b9-968e-4b3d-9036-fd1acf",
    "realityAmount": "230",
    "realityFee": "6.90",
    "reference": "90911988431",
    "sign": "69DF96903B85CD1408BD6849C62254C0",
    "status": "01",
    "successTime": 1716149235000,
    "supefinaOrderId": "202405190101010696298b1ca1141",
    "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: 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/peru.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.
