Transfer

(payProduct=20)

Dirección de solicitud

Nombre del entorno
URL

SandBox

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

Producción

POST https://api.supefina.net/api/supefina/transactions/payout

Formas de solicitud

Encabezado de solicitud

Key
Value

Content-Type

application/json

Cuerpo de solicitud

Nombre de variable
Tipo
Obligatorio
Descripción

account

String

Número de cuenta del beneficiario

  1. Tipos de cuentas y dígitos de los cuatro grandes bancos de Perú: 03--BBVA, cuentas corrientes y de ahorros con 18 o 20 dígitos; 04--SCOTIABANK, cuentas corrientes y de ahorros con 10 dígitos; 02--INTERBANK, cuentas corrientes y de ahorros con 13 dígitos; 01--BCP, 00 (cuenta corriente) con 13 dígitos y el 11.º dígito es 0; 01 (cuenta de ahorros) con 14 dígitos y el 12.º dígito es 0.

  2. No se pueden incluir puntos decimales ni símbolos especiales como "-", solo números puros.

  3. Ejemplo: 1110333711

accountType

Strin

Tipo de cuenta del beneficiario:

00: CORRIENTE (cuenta corriente)

01: AHORROS (cuenta de ahorros)

Ejemplo:00

app

String

Nombre de la app de pedidos

bankName

String

Nombre del banco

Referencia específica: Lista de bancos de payout en Perú

callbackUrl

String

No

Dirección de callback

Consultar la instrucción de notificación de callback

cciNumber

String

No

Cuenta de intermediación del beneficiario

  1. Este campo es obligatorio si bankName no es uno de los cuatro grandes (BCP, Interbank, BBVA, Scotiabank).

  2. cciNumber debe tener 20 dígitos.

  3. No puede contener puntos, guiones ni símbolos especiales; solo números.

  4. Ejemplo: 00911120111033371164

countryId

String

Código de país

Referencia: tabla de diccionario - Código de país

Perú, PER

currency

String

Moneda

Referencia: tabla de diccionario - Moneda

Sol peruano: PEN

customerEmail

String

Correo electrónico del beneficiario

customerIdentification

String

Número de documento del usuario

00: Documento Nacional de Identidad (DNI), 8 dígitos

01: Carné de Extranjería (CE), ≥ 9 dígitos

02: Registro Único de Contribuyentes (RUC), 11 dígitos

03: Pasaporte (PAS), ≥ 9 dígitos

Nota: No puede contener puntos, guiones ni símbolos especiales; solo números.

Ejemplo: 42340816

customerIdentificationType

String

Tipo de documento del usuario

00: Documento Nacional de Identidad (DNI)

01: Carné de Extranjería (CE)

02: Registro Único de Contribuyentes (RUC)

03: Pasaporte (PAS)

Ejemplo: 00

customerName

String

Nombre del beneficiario

customerPhone

String

Teléfono del beneficiario

Código de área (+51, 51) + 9 dígitos del número de móvil; el código de área es opcional.

Ejemplo: +51123456789 (con código +51) 51123456789 (con código 51) 123456789 (sin código de área)

merId

String

ID del comerciante

Ruta para obtener el ID del comerciante: Panel de control de comerciantes de 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

Ingresar 100 para representar 100 PEN; se admiten hasta 2 decimales

payProduct

String

Tipo de pago Transfer:20

Ejemplo de solicitud

{
    "account": "19299172588073",
    "accountType": "01",
    "app": "supefina",
    "bankName": "01",
    "callbackUrl": "https://test.com",
    "countryId": "PER",
    "currency": "PEN",
    "customerEmail": "[email protected]",
    "customerIdentification": "73313761",
    "customerIdentificationType": "00",
    "customerName": "Test Name",
    "customerPhone": "52173996789",
    "merId": "8202157333970291",
    "merOrderNo": "8485233309941743872",
    "nonceStr": "52b6350acc364578b3d25f30a8ee95f3",
    "orderAmount": "105.00",
    "payProduct": "20",
    "sign": "5E57AE7AF2548AA9020C52752C6A963C"
}

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

merCode

String

ID de comerciante

merOrderNo

String

Número de pedido del comerciante

supefinaOrderNo

String

Número de 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.

msg

String

Mensaje de respuesta

Ejemplo de respuesta

{
    "code": "200",
    "data": {
        "amount": 105.00,
        "fee": 3.00,
        "merCode": "8202157333970291",
        "merOrderNo": "8485233309941743872",
        "supefinaOrderNo": "2024052001860105b0fae306a6e43",
        "transactionStatus": "00"
    },
    "msg": "success "
}

Notificación de callback

Método de envío: POST

En el proceso de pago en nombre de terceros, existen dos notificaciones de estado de callback. Después de recibir el evento de callback de éxito, aún es posible recibir un evento de callback que indique un cambio en el estado del pago, pasando de exitoso a fallido. Este tipo de orden solo aparece en transferencias interbancarias en Perú. El banco que ejecuta el pago verifica la información de la cuenta dos veces; si la primera verificación es exitosa, el canal recibe el callback de éxito. Sin embargo, en la segunda verificación, si el banco detecta que la cuenta está bloqueada o que el tipo de cuenta no permite transferencias, no procederá con el pago y notificará al canal una vez a la semana o al mes.

Nombre de variable
Tipo
Descripción

amount

String

Monto del pedido

countryId

String

Código del país Referencia:Tabla de diccionario-Código del país Perú,PER

customerName

String

Nombre del beneficiario

fee

String

Comisión anticipada

merId

String

ID del comerciante

merOrderId

String

Número de pedido del comerciante

msg

String

Descripción de la respuesta

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

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": "105.00",
    "countryId": "PER",
    "customerName": "Test Name",
    "fee": "3.00",
    "identifier": "706180968985601627",
    "merId": "8202157333970291",
    "merOrderId": "8485233309941743872",
    "msg": "success",
    "nonceStr": "76abf1f3-0486-4c1e-ac2a-1d9e17",
    "realityAmount": "105.00",
    "realityFee": "3.00",
    "sign": "11D7CBC5B0C337F904F227628813F5DE",
    "status": "01",
    "successTime": 1716249060000,
    "supefinaOrderId": "2024052001860105b0fae306a6e43",
    "transactionType": "02"
}

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

Lista de bancos de payout en Perú

01

bcp

02

interbank

03

bbva

04

scotiabank

05

Banco de Comercio

06

BanBif (Banco Interamericano de Finanzas)

07

Banco Pichincha

08

Citibank

09

Banco GNB

10

Banco Santander

11

Banco Azteca

12

Banco Cencosud

13

ICBC PERU BANK

14

Banco de la Nación

15

Caja Cusco

16

Caja Huancayo

17

Caja Maynas

18

Caja Metropolitana

19

Caja Municipal Ica

20

Caja Sullana

21

Caja Tacna

22

Caja Trujillo

Última actualización