Hay dos métodos disponibles para obtener los resultados de pago al utilizar el SDK de pagos de Clip:
Respuesta de la implementación del cliente
Este canal proporciona los resultados de pago de forma síncrona, lo que significa que la respuesta se recibe inmediatamente después de que se complete la transacción de pago. Así es cómo funciona:
- Respuesta Sincrónica: Los resultados de pago se devuelven directamente como parte de la sesión de composición, generalmente en forma de un objeto de respuesta o estructura de datos.
- Integración en Tiempo Real: Los comerciantes pueden integrar este método en la lógica de su aplicación para manejar los resultados de pago en tiempo real, permitiendo un procesamiento inmediato y una respuesta al resultado de la transacción.
- Mismo Contexto de Sesión: Dado que la respuesta es síncrona, los comerciantes pueden acceder directamente a los resultados de pago dentro del mismo contexto de sesión donde se inició la transacción de pago.
- Ventajas: Este método ofrece simplicidad e inmediatez en el acceso a los resultados de pago, lo que lo hace adecuado para escenarios donde se requiere un procesamiento en tiempo real.
clipPayment.Builder().addListener(new PaymentListener() {
    @Override
    public void onSuccess(PaymentResult result) {
        // Handle successful payment result
    }
    @Override
    public void onCancelled() {
        // Handle payment cancelled
    }
    @Override
    public void onFailure(String error) {
        // Handle failed payment result
    }
}).build();La siguiente tabla describe los elementos del objeto de respuesta completo que recibirá tu sistema
| Elemento | Descripción | Tipo | Notas | |||||||
| reference | Referencia generada por el SDK | String | 
 | |||||||
| status | Estatus del pago: PENDING , IN_PROCESS, REJECTED, CANCELED, APPROVED | String | 
 | |||||||
| amount | Cantidad por el cual se hizo el pago | String | 
 | |||||||
| receiptNumber | Si fue exitosa este campo contiene el receipt generado del pago, de lo contrario su valor será null | String | 
 | |||||||
Notificación del Resultado del Pago Webhook (Proceso de pago completado)
Este método entrega los resultados de pago de forma asincrónica, lo que significa que los resultados se envían a un endpoint designado (webhook) después de que se complete la transacción de pago:
- Respuesta Asincrónica: Los comerciantes necesitan configurar un endpoint de webhook para recibir y procesar los resultados de pago. El endpoint debe ser accesible a través de internet y capaz de manejar solicitudes HTTP.
- Notificación de Webhook: Cuando se completa una transacción de pago, el sistema de Clip envía una notificación de webhook que contiene los resultados de pago al endpoint configurado.
- Procesamiento en el Backend: Los comerciantes pueden implementar lógica en su servidor para manejar las notificaciones de webhook, como actualizar registros de base de datos, activar notificaciones o realizar procesamiento adicional basado en el resultado del pago.
- Flexibilidad y Escalabilidad: Dado que la respuesta es asincrónica, los comerciantes pueden experimentar un ligero retraso entre la finalización de la transacción de pago y la recepción de la notificación de webhook. Este canal permite a los comerciantes desacoplar el procesamiento de resultados de pago del flujo de transacción y manejarlo de forma asincrónica en sus sistemas backend.
ImportanteSólo hay un intento de envío de notificación por parte del webhook, a lo cual si se requiere conocer el detalle de un pago procesado en específico se tiene que realizar una petición a nuestro endpoint GET/Payments
Ejemplo de uso:
- Configurar el endpoint del Webhook: Asegúrate de que tu servidor esté configurado para manejar solicitudes HTTP entrantes.
- Configurar el Webhook en el Panel de Clip: Ve al Portal de Desarrolladores de Clip y configura tu endpoint de webhook.
Para obtener información detallada sobre cómo configurar webhooks, consulta la Referencia de Webhooks de Clip.
¿Necesitas Ayuda?Si lo que buscas no está documentado, contáctanos por el siguiente medio:
- Envía un correo electrónico a la dirección [email protected].
