Perú

Integración de múltiples métodos de pago

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

Productos de pago actualmente soportados:

  1. Efectivo

  2. Transfer

Proceso de pago

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

Entorno
URL

SandBox

POST https://api.supefina.tech/api/supefina/transactions/payin

Producción

POST

https://api.supefina.net/api/supefina/transactions/payin

Parámetros de solicitud

Encabezado de solicitud

Key
Value

Content-Type

application/json

Cuerpo de solicitud

Nombre de variable
Tipo
Obligatorio
Descripción

countryld

String

Código del país

Referencia:Tabla de diccionario-Código del país

Perú:PER

currency

String

Moneda

Referencia:Tabla de diccionario-Moneda

Sol peruano:PEN

orderAmount

String

Monto del pedido

payProduct

String

No

Tipo de pago Si no se especifica, se mostrará la caja de cobro con todos los métodos de pago configurados por el comerciante. Si se especifican métodos de pago particulares, la caja de cobro solo mostrará esos métodos. Nota: Si se especifica un método de pago que no está configurado, se devolverá un mensaje de error.

customerIdentificationType

String

Tipo de identificación del usuario

00:Cédula de Ciudadanía (CC)

01:Carnet de extranjería (CE)

02: Número de identificación fiscal,

03:Pasaporte (PAS)

04:Permiso de salida (PAR)

05:Identificación de oficial militar (LMI)

customerIdentification

String

Número de identificación del usuario

00: Cédula de Ciudadanía (CC), 8 dígitos

01: Carnet de extranjería (CE), más de 9 dígitos

02: Número de identificación fiscal, 11 dígitos

03: Pasaporte, más de 9 dígitos

04: Permiso de salida (PAR) 05: Libreta militar (LMI)

El mismo número de identificación del cliente (customerIdentification) se puede usar para realizar payin un máximo de 20 veces al día.

customerName

String

Nombre del usuario

lastName

String

Apellido del usuario

customerPhone

String

Teléfono del usuario, 9 dígitos Ejemplo:975728895

customerEmail

String

Correo electrónico del usuario

expireTimeL

Long

No

Tiempo de expiración de la caja registradora (en segundos)

  1. Si no se especifica, el valor predeterminado es 12 horas.

  2. Si el tiempo especificado es inferior a 3 minutos o superior a 7 días, también se considerará como 12 horas por defecto.

merld

String

ID del comerciante

Ruta para obtener el ID del comerciante: Panel de comerciante Supefina - Gestión de comerciantes - Información básica - ID del comerciante

merorderNo

String

Número de pedido del comerciante

description

String

Descripción de pago

No puede contener símbolos especiales, y la longitud no debe exceder los 200 caracteres.

callbackUrl

String

No

Dirección de callback

Consulte la explicación de notificación de callback

checkOut

Boolean

Condición para mostrar la caja de cobro agregada En este modo, solo se admite pasar el valor como verdadero true

nonceStr

String

Cadena aleatoria

La longitud no puede exceder 32 caracteres

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": "[email protected]",
    "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": "[email protected]",
    "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": "[email protected]",
    "merId": "xxxxxxx",
    "checkOut": "true",
    "description":"supefina",
    "currency": "PEN",
    "callbackUrl": "xxxxxxxx"
}

Parámetros de respuesta

Nombre de variable
Tipo
Descripcion

code

String

Código de respuesta Referencia especifica: Códigos de estado de respuesta

msg

String

Descripción de la respuesta

data

Object

Datos de respuesta

merCode

String

ID de comerciante

merOrderNo

String

Número de pedido del comerciante

supefinaOrderNo

String

Número de pedido del supefina

amount

BigDecimal

Monto del pedido

currency

String

Moneda

url

String

Enlace de la transacción

Ejemplo de respuesta-É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-Fracaso

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

Notificación de callback

Método de envío: POST

Nombre de variable
Tipo
Descripción

amount

String

Monto del pedido

countryld

String

Código del país

Referencia:Tabla de diccionario-Código del país

Perú:PER

fee

String

Comision anticipada

identifier

String

Referencia de pago

merld

String

ID de comerciante

merOrderld

String

Número de pedido del comerciante

msg

String

Mensajes

nonceStr

String

Cadena aleatoria La longitud no puede exceder 32 caracteres

realityAmount

String

Monto recibido

realityFee

String

Comisión recibida

reference

String

Identificador

sign

String

Firma

status

String

Estado de la transacción Referencia especifica : Tabla de diccionario-Estado del pedido de transacción

successTime

String

Tiempo de éxito de la transacción

Hora UTC

supefinaOrderld

String

Número del pedido de Supefina

transactionType

String

Tipo de transacción

01:Payin

02:Payout

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";
}

Última actualización