Wallet

(payProduct=23)

Proceso de pago

1、El usuario realiza un pedido en el sitio web/aplicación del comerciante y elige pagar con Wallet.

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

3、Supefina devuelve la URL de pago de Wallet.

4、El comerciante abre esa dirección en el lado del usuario.

5、El usuario realiza la verificación y el pago según las indicaciones de la página.

6、El usuario completa el pago con éxito.

7、Supefina notifica al comerciante que el pago se ha realizado con éxito.

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

callbackUrl

String

No

Dirección de callback

Consultar la instrucción de notificación de callback

checkOut

Boolean

No

Pasarela de pago

true: Se necesita pasarela de pago

false: No se necesita pasarela de pago

Se recomienda enviar true.

countryId

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

customerEmail

String

Correo electrónico del usuario

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.

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:Libreta militar (LMI)

customerName

String

Nombre del usuario

customerPhone

String

No

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

expireTimeL

Long

No

Tiempo de expiración Unidad: segundos; Valor predeterminado: 1 día; Valor máximo: 30 días; Valor mínimo: ninguno.

lastName

String

Nombre del usuario

merId

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

nonceStr

String

Cadena aleatoria

La longitud no puede exceder 32 caracteres

orderAmount

String

Monto del pedido

payProduct

String

Tipo de pago Wallet:23

Ejemplo de solicitud

{
    "callbackUrl": "https://test.com",
    "countryId": "PER",
    "currency": "PEN",
    "customerEmail": "[email protected]",
    "customerName": "Test Name",
    "customerPhone": "975728895",
    "lastName": "Name",
    "merId": "8202853381910205",
    "merOrderNo": "1792482490623816850",
    "nonceStr": "vVcmkwpQmzIgrhaS",
    "orderAmount": "604.00",
    "payProduct": "23",
    "sign": "05946E54626666CF0A6BBE6BE859C591"
}

Parámetros de respuesta

Nombre de variable
Tipo
Descripción

code

String

Código de respuesta Referencia específica: Códigos de estado de respuesta

data

Object

Datos de respuesta

amount

BigDecimal

Monto del pedido

fee

BigDecimal

Comisión anticipada

identifier

String

Referencia de pago

merCode

String

ID de comerciante

merOrderNo

String

Número de pedido del comerciante

supefinaOrderNo

String

Número del pedido de Supefina

transactionStatus

String

Estado del pedido. Este estado indica si la solicitud fue exitosa, sin relación con el estado real de la transacción.

00: Pedido exitoso;

04: Pedido fallido.

url

String

Enlace de la transacción

msg

String

Mensaje de respuesta

Ejemplo de respuesta

{
    "code": "200",
    "data": {
        "amount": 604.00,
        "fee": 18.12,
        "identifier": "90988088122",
        "merCode": "8202853381910205",
        "merOrderNo": "1792482490623816850",
        "supefinaOrderNo": "202405200199010bed84fdc218b4a",
        "transactionStatus": "00",
        "url": "https://secure.payv.co/atsfaghsga"
    },
    "msg": "success "
}

Notificación de callback

Método de envío: POST

Nombre de variable
Tipo
Descripción

amount

String

Monto del pedido

countryId

String

Código del país

customerName

String

Nombre del usuario

fee

String

Comisión anticipada

identifier

String

Referencia de pago Clabe

merId

String

ID del comerciante

merOrderId

String

Número de pedido del comerciante

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 específica: Tabla de diccionario - Estado del pedido de transacción

successTime

Date

Tiempo de éxito de la transacción

Hora UTC

supefinaOrderId

String

Número del pedido de Supefina

transactionType

String

Tipo de transacción 01:Payin 02:Payout

Ejemplo de notificación de callback

{
    "amount": "604.00",
    "countryId": "PER",
    "customerName": "Test Name",
    "fee": "18.12",
    "identifier": "90988088122",
    "merId": "8202853381910205",
    "merOrderId": "1792482490623816850",
    "nonceStr": "c6f4a0cd-326c-4fc3-81cc-1fe767",
    "realityAmount": "604",
    "realityFee": "18.12",
    "reference": "90988088122",
    "sign": "7CD93A92D7078C29D38C911683233F02",
    "status": "01",
    "successTime": 1716197097000,
    "supefinaOrderId": "202405200199010bed84fdc218b4a",
    "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