Retiros instantáneos con Wallet

Conoce el paso a paso de cómo hacer un retiro instantáneo con wallet en Perú.

Hacer un retiro en Perú a una wallet consiste en capturar los datos necesarios de la persona que recibirá el pago y hacer una solicitud a través de nuestra API con un Bearer Token y una secretKey. De esta forma, las transacciones se autentican y se realizan de forma segura.

ProntoPaga te permite hacer retiros instantáneos en Perú. Para ello, cuentas con dos modalidades disponibles:

  • Retiros vía CCI (Cuenta bancaria / Cuenta interbancaria)
  • Retiros vía wallet.

A continuación, puedes encontrar información detallada de cómo hacer retiros instantáneos desde el comercio a una wallet específica.



¿Cómo funciona?

Wallet (retiros instantáneos) es un método digital utilizado en Perú que permite retirar fondos desde una aplicación de billetera digital en el celular.

Para utilizar este método, el cliente debe seleccionar la opción "Billetera digital", tener una cuenta activa en una billetera compatible, ingresar su número de teléfono, seleccionar la billetera y confirmar la operación. Puedes consultar el listado de billeteras aceptadas en tus transacciones aquí.

El proceso de PayOut con wallet en Perú consta de cuatro etapas principales:

  1. Selección de método. El cliente elige retirar dinero por medio de wallet en tu sitio web o aplicación.
  2. Ingreso de datos. El cliente ingresa los datos necesarios para que el retiro sea realizado (como su número de teléfono y wallet) y confirma la transacción.
  3. Validación y Captura. ProntoPaga valida la información del retiro, hace la solicitud de transferencia a la wallet y mueve el dinero desde la cuenta del comercio hacia la cuenta del cliente.
  4. Confirmación. El cliente recibe una confirmación de retiro exitoso en su correo electrónico. A su vez, tu comercio recibe la confirmación a través de los webhooks que hayas configurado.

Entidades

En la tabla a continuación, podrás consultar las entidades aptas para transacciones a través de wallet, así como aquellas que requieren o no requieren validación de pagos a terceros.

EntidadApta para wallet (con validación de terceros)Apta para wallet (sin validación de terceros)
BANCO DE CREDITO DEL PERU✅ YES✅ YES
INTERBANK✅ YES✅ YES
SCOTIABANK❌ NO✅ YES
BBVA✅ YES✅ YES
BANCO NACION❌ NO✅ YES
BANCOM❌ NO✅ YES
BANCO PICHINCHA✅ YES✅ YES
BANBIF❌ NO✅ YES
CREDISCOTIA❌ NO✅ YES
MI BANCO❌ NO✅ YES
BANCO GNB✅ YES✅ YES
BANCO FALABELLA❌ NO✅ YES
BANCO RIPLEY✅ YES✅ YES
BANCO ALFIN✅ YES✅ YES
COMPARTAMOS FINANCIERA✅ YES✅ YES
TARJETA OH✅ YES✅ YES
FINANCIERA EFECTIVA✅ YES✅ YES
FINANCIERA CONFIANZA✅ YES✅ YES
PREXPE✅ YES✅ YES
CAJA PIURA✅ YES✅ YES
CAJA TRUJILLO✅ YES✅ YES
CMAC AREQUIPA❌ NO✅ YES
WAYKI CAJA CUSCO✅ YES✅ YES
CAJA HUANCAYO❌ NO✅ YES
CAJA ICA✅ YES✅ YES
CAJA LOS ANDES✅ YES✅ YES
YAPE✅ YES✅ YES
PLIN✅ YES✅ YES
COOPERATIVA ABACO✅ YES✅ YES
LIGO✅ YES✅ YES
DALE✅ YES✅ YES

Wallets disponibles

Este es la lista completa de las wallets disponibles para hacer PayOuts con ProntoPaga en Perú:

MarcaValor
Banco Falabellafalabella
Wayki Caja CuscocajaCusco
Banco Naciónnacion
Mibancomibanco
Tarjeta ohoh
Banco GNBgnb
BanBifbanbif
Caja LimacajaLima
Compartamos Financieracompartamos
Caja HuancayocajaHuancayo
Caja PiuracajaPiura
Daledale
Financiera Confianzaconfianza
Bancomcomercio
Ripleyripley
Santandersantander
Banco Pichinchapichincha
Banco de Crédito del Perú (BCP)bcp
Financiera Efectivaefectiva
Caja IcaCaja Ica
Caja TrujillocajaTrujillo
Interbankinterbank
Luqealuqea
Caja SullanacajaSullana
Prexpeprexpe
Yapeyape
Plinplin
Bimbim


Consulta de wallets por número telefónico (Opcional)

Si deseas conocer las wallets asociadas al número telefónico celular del beneficiario, primero deberás consultar el endpoint de Lista de wallets y agregar el teléfono en la URL de la petición.


Respuesta

Si la transacción es exitosa, recibirás una respuesta similar a la siguiente:

{"data": "Array",  
     { 
       "0": "yape”,  
       "1": "plin”, 
       "2": "bim”, 
       "3": "luqea”, 
       "4": "dale”,  
       "5": "prexpe”, 
       "6": "oh”, 
 } 


Solicitud de retiro instantáneo vía wallet

Después de seleccionar una wallet del listado obtenido en el endpoint anterior, deberás hacer una petición al endpoint de Crear un nuevo retiro a wallet y enviar una solicitud con un body similar al siguiente.

🚧

Firma de la transacción

Puedes ver el detalle de cómo firmar los parámetros de la transacción con tu secretKey en este artículo.

{
  "amount": "150.90",
  "document_id": "12345678912",
  "beneficiaryName": "John",
  "beneficiaryLastName": "Doe",
  "beneficiaryEmail": "[email protected]",
  "beneficiaryPhone": "999999999",
  "data": "XYZ789",
  "confirmationURL": "https://www.webhook.com",
  "currency": "PEN",
  "country": "PE",
  "wallet": "luqea",
  "sign": "Signature of the parameters"
}
📘

Notificación del estado de la transacción

Para configurar el webhook que irá en el campo urlConfirmation y recibir notificaciones con el estado de tu transacción, revisa este artículo.

👍

Límite transaccional

Para los retiros con Yape, el monto máximo permitido por día y por transacción es de 3,000 PEN. Asegúrate de mostrar este límite de forma visible en el front-end y de implementar la lógica de validación y formato que impida ingresar montos superiores a 3,000 PEN antes de enviar la solicitud.

Si el cliente intenta superar los límites permitidos, se le mostrará un mensaje de rechazo.

Posibles respuestas

Como respuesta a una solicitud de pago exitosa, recibirás un identificador del retiro en el sistema, el estado del retiro y datos adicionales de la transacción.

Si la transacción es exitosa, recibirás la siguiente respuesta:

{
  "uid": "01J4PG5MET5CV6BCCQB8HRFC2X",
  "status": "new",
  "data": "XYZ789",
  "reference": 8290,
  "plin": true
}

Si la transacción es rechazada, recibirás la siguiente respuesta:

 {
    "beneficiaryPhone":  "(string) beneficiaryPhone, cannot be null."
 }

Motivos de rechazo

A continuación se muestran varios posibles casos de rechazo de un retiro, junto con su respectivo código.

CódigoDescripción
1El cliente se encuentra bloqueado
2Excede límite %s, quedan disponibles %s para el día, %s para la semana, %s para el mes. Retiro máximo por transacción %s
3El saldo a retirar excede el balance disponible en esta moneda
4Cuenta ingresada no existe.
5El número de cuenta del destinatario no corresponde al Rut ingresado.
6Banco seleccionado no corresponde.
7Cuenta con restricción de abono.
8Banco de destino en mantención.
9Rut Incorrecto.
10Cuenta Rut Con Dígito Verificador.
12Banco de destino no disponible.
13Error interno, favor reintentar.
16El número de teléfono no es válido en la cabina telefónica.
17Error interno, validaciones fallidas.
20Wallet no encontrada para este número.
21Moneda ingresada es inválida
22Cuenta inválida, bloqueada o cerrada
23La información suministrada es insuficiente o inválida
24El número de cuenta del destinatario no corresponde a los datos del usuario ingresado
25ID inválido
26Monto de retiro excede los límites, por favor reintentar con un monto válido
27No se aceptan documentos de identidad correspondientes a empresas. Por favor, ingresa uno válido de persona natural para continuar.
28Fallo en la validación de terceros por datos insuficientes del Banco

Confirmación de un retiro

Una vez que hayas completado el proceso, ProntoPaga devolverá los datos de la transacción a la URL que especificaste en confirmationURL.

Para confirmar si una transacción fue exitosa, debes verificar que en tu webhook el valor del campo status sea success.

Conoce todos los estados posibles de un retiro en el siguiente enlace: Estados de los PayOuts.


Webhook

Al finalizar una transacción exitosa, recibirás un webhook similar al ejemplo mostrado a continuación.

{      
      "uid": "01J8MWMSW7KCVG6YE6X1GZABCD",
      "status": "success",
      "data": "XYZ789",
      "statusCode": "200",
      "startNotificationTime": "2024-08-25 12:16:54",
      "endNotificationTime": "2024-08-25 12:16:54",
      "totalRequestTime": "0.791377",
      "sign": "e198c7a2c33d697c551c445b37659e06bf7c1e92db8bae00c7a1f5411b1e7a00"
}         


Prueba tu integración

Contamos con un catálogo de datos de prueba que puedes usar para comprobar que tu integración está lista, así como para ver el flujo de pago que seguirá tu cliente. Además, también puedes hacer pruebas con nuestros demos.



Certifica tu integración

La certificación de la integración en sandbox es un paso obligatorio que todos los comercios deben realizar antes de recibir sus credenciales de producción. Su propósito es asegurar que la integración cumpla con los estándares técnicos, funcionales y de seguridad requeridos por ProntoPaga. Dentro de esta sección, se establecen los requisitos que deben cumplirse sin excepción para que la certificación sea aprobada.


Requisitos de certificación

A continuación, encontrarás los distintos requisitos necesarios para completar tu certificación:

  • ❌ El documento de identidad del cliente no debe ser modificable en ningún punto de la transacción.
  • ✅ Es recomendable que este dato no se muestre en el checkout. Solo puede estar disponible en la sección de perfil del usuario autenticado.
  • ⚠️ Esta medida tiene como objetivo prevenir fraudes y evitar que se realicen transacciones en nombre de terceros o menores de edad.