Proceso de cobro
Una vez que tengas la URL del enlace de pago (data.url
), puedes redirigir al usuario de varias formas según tu plataforma:
- Abrir enlace en una ventana nueva del navegador.
- Crear un componente de WebView y abrir el enlace.
- Abre una ventana emergente del navegador dentro de tu app.
Formas de procesar cobro en JavaScript:
Supongamos que ya realizaste la solicitud a la API y recibiste la respuesta con la URL del enlace de pago en data.url
:
// Ejemplo de cómo obtener la URL del enlace de pago desde la respuesta de la API
const response = await fetch('https://venepagos.com.ve/api/public/payment-links/create', {
method: 'POST',
headers: {
'Authorization': 'Bearer tu_api_key',
'Content-Type': 'application/json',
},
body: JSON.stringify({
title: 'Pago de prueba',
description: 'Pago de producto X',
amount: 10.5,
currency: 'USD',
metadata: { user_id: '123', order_id: '456' }
})
});
const data = await response.json();
const paymentUrl = data.data.url;
Ahora puedes usar paymentUrl
en cualquiera de los siguientes métodos:
1. Abrir en ventana nueva.
// Abre el enlace de pago en una nueva pestaña o ventana
window.open(paymentUrl, '_blank');
2. Crear un componente y abrir un WebView.
// Usando un iframe para simular un WebView en web
function PaymentWebView({ paymentUrl }) {
return (
<iframe
src={paymentUrl}
style={{ width: '100%', height: '600px', border: 'none' }}
title="Pago Venepagos"
/>
);
}
// Uso:
// <PaymentWebView paymentUrl={paymentUrl} />
3. Abrir una ventana emergente del navegador dentro de la app.
// Puedes controlar el tamaño y características de la ventana emergente
const popup = window.open(
paymentUrl,
'PagoVenepagos',
'width=500,height=700,scrollbars=yes,resizable=yes'
);
Webhooks: Recibe eventos de pago
Cuando el usuario paga (o el pago falla/cancela), Venepagos enviará un evento a tu endpoint de webhook configurado.
Ejemplo de payload de webhook (evento payment.completed
)
{
"event": "payment.completed",
"data": {
"id": "txn_1752286810657_m40p4d7c0dd",
"amount": 10.5,
"currency": "USD",
"status": "completed",
"paymentLinkId": "cmczm8edj0005c97dur7412ny",
"customerEmail": "cliente@email.com",
"customerName": "Juan Pérez",
"reference": "REF123456",
"timestamp": "2024-07-23T12:05:00.000Z"
},
"webhook_id": "wh_abc123",
"timestamp": "2024-07-23T12:05:00.000Z"
}
Otros eventos posibles
payment.failed
payment.cancelled
Consulta la sección Webhooks para más detalles sobre la validación y manejo de estos eventos.
Resumen:
- Crea el enlace de pago → 2. Redirige al usuario → 3. Recibe el evento por webhook