Pago o preautorización
Descripción del proceso de venta directa (sale)
El proceso de venta directa en una pasarela de pago es un flujo que permite a los comerciantes procesar transacciones de compra de bienes o servicios de manera inmediata y sin la necesidad de preautorizaciones o pasos adicionales de confirmación.
Notas importantes
- Este proceso es adecuado para transacciones donde no es necesario un período de espera o confirmación adicional antes de completar la compra.
Descripción del proceso de preautorización y captura (preauth)
El flujo de preautorización y captura en una pasarela de pago es un proceso que permite a los comercios obtener la aprobación para una transacción, pero pospone la captura efectiva de fondos hasta un momento posterior. Esto es útil en situaciones donde se necesita confirmar la validez de una tarjeta de crédito y la disponibilidad de fondos antes de completar la transacción.
Notas importantes
- El período de espera entre la preautorización y la captura varía según los emisores y puede estar sujeto a límites de tiempo específicos.
- La preautorización permite al comerciante asegurarse de que los fondos estén disponibles antes de comprometerse completamente con la transacción.
- Este flujo es comúnmente utilizado en industrias como hotelera o el alquiler de coches, donde es necesario garantizar la disponibilidad de fondos antes de la llegada del cliente.
Descripción del proceso de una transacción 3DS
Una transacción 3DS (3D Secure) es una transacción en línea que utiliza el protocolo de seguridad 3D Secure para autenticar la identidad del titular de una tarjeta de crédito o débito durante una compra en un sitio web o aplicación. Este protocolo agrega una capa adicional de seguridad al proceso de pago en línea y está diseñado para reducir el riesgo de fraudes en transacciones con tarjetas. Durante una transacción 3DS, se solicita a los titulares de tarjetas que se autentiquen adicionalmente. Esto generalmente implica un paso de verificación, como la introducción de una contraseña única, un código enviado por SMS o una biometría, dependiendo de la implementación específica del emisor de la tarjeta.
Notas importantes
- En una sección más adelante se describe más a detalle cómo realizar la autenticación en nuestra plataforma Autenticación 3DS.
- La terminal debe tener habilitada la opción de enviar parámetros de autenticación 3DS para mayor información favor de contactar con soporte.
Este endpoint recibe los datos de la transacción de pago/preautorización y devuelve el resultado.
Method: post
URL: http://{environment-domain}/api/v1/make-payment
Encabezados HTTP: Content-Type: application/json
Agregar encabezados de autenticación
Ejemplo:
{
"transactionType": "sale",
"merchantId": "3ae25846-d5fe-40cc-a311-eb2de5174c29",
"terminalId": "3ae25846-d5fe-40cc-a311-eb2de5174c29",
"order": {
"merchantOrderId": "9a6ecf36-8265-11ee-b962-0242ac120002",
"amount": "100.00",
"currency": "484"
},
"card": {
"cardNumber": "4111111111111111",
"expiryMonth": "01",
"expiryYear": "2025",
"cvv2": "123",
"holderName": "Clark Parker",
"email": "[email protected]"
},
"recurringPayment": {
"saveCardOnfile": true
},
"installments": {
"initialDiferement": 0,
"numberInstallments": 0,
"planType": "0"
},
"threeDsAutentication": {
"eci": "05",
"cavv": "AAUBAAAHCQAAAAAAAAAAAQAAAAA=",
"ucaf": null,
"xid": "AAUBAAAHCQAAAAAAAAAAAQAAAAA=",
"version": "2.2.0",
"dsTransactionId": "01e4de9c-4d4a-4f0a-bfc3-6cd3ae780446",
"protocolType": "6"
}
}
Descripción de campos
Campo | Descripción | Nota |
---|---|---|
transactionType | Indica el tipo de transacción. En este caso, debe ser "sale" o "preauth". | |
merchantId | Identificador único del comerciante en la pasarela de pago, es asignado al momento de crear la cuenta. | |
terminalId | Identificador único de la terminal, es asignado al momento de crear la cuenta. | |
order | Contiene detalles sobre la orden de compra. | |
merchantOrderId | Identificador único de la orden asignado por el comercio. | |
amount | Monto total de la orden. | |
currency | Código de moneda según el estándar ISO 4217. | |
card | Información relacionada con la tarjeta del cliente. | |
cardNumber | Número de la tarjeta. | |
expiryMonth | Mes de vencimiento de la tarjeta. | |
expiryYear | Año de vencimiento de la tarjeta. | |
cvv2 | Código de seguridad de la tarjeta. | |
holderName | Nombre del titular de la tarjeta. | |
email | Dirección de correo electrónico asociada a la tarjeta. | |
recurringPayment | Configuración para pagos recurrentes. | Opcional, si no se envía el valor predeterminado es “false”. |
saveCardOnfile | Indica si se debe guardar la tarjeta en el archivo para futuras transacciones. | |
installments | Detalles sobre el pago a plazos. | Opcional, si no se envía la transacción, se procesara sin cuotas ni pagos diferidos. |
initialDiferement | Diferimiento inicial. | |
numberInstallments | Número de cuotas. | |
planType | Tipo de plan de pago (“0“ para plan regular). | |
threeDsAuthentication | Información para la autenticación 3D Secure. | Opcional si no se envía la transacción se enviara sin protección de 3ds |
eci | Indica el valor del ECI (Electronic Commerce Indicator). | |
cavv | Valor del CAVV (Cardholder Authentication Verification Value). | |
ucaf | UCAF (Universal Cardholder Authentication Field). | |
xid | Valor del XID (Transaction ID). | |
version | Versión del protocolo 3D Secure utilizado. | |
dsTransactionId | Identificador único de la transacción en el sistema de autenticación 3D Secure. | |
protocolType | Indica el tipo de protocolo utilizado. |
Ejemplo de respuesta exitosa
Http code 200
{
"id": "5c51bebd-5b21-4ef3-b980-d41eb0b83568",
"order": {
"merchantOrderId": "9a6ecf36-8265-11ee-b962-0242ac120002",
"amount": "100.00",
"currency": "484"
},
"payload": {
"responseCode": "00",
"responseDescription": "Approved or completed successfully (if balances are available)",
"authorizationNumber": "280188",
"referenceNumber": "000027389440",
"status": "Paid"
},
"recurringPayment": {
"token": "2b43f315-b053-4cd2-bff0-14dd2e7da52a"
},
"isApproved": true,
"isFailure": false,
"errors": null
}
Descripción de campos
Campo | Descripción |
---|---|
id | Id único de la transacción asignado por la pasarela de pagos. |
order | Contiene detalles sobre la orden de compra. |
merchantOrderId | Identificador único de la orden asignado por el comercio. |
amount | Monto total de la orden. |
currency | Código de moneda según el estándar ISO 4217. |
payload | Contiene información detallada sobre la transacción. |
responseCode | Código de respuesta que indica el resultado de la transacción (en este caso, "00" indica aprobación). |
responseDescription | Descripción asociada al código de respuesta. |
authorizationNumber | Número de autorización de la transacción. |
referenceNumber | Número de referencia asociado a la transacción. |
status | Estado de la transacción, en este caso, "paid" indica que la transacción ha sido completada con éxito. |
recurringPayment | En caso que los datos de tarjeta hayan sido almacenados. |
token | Identificador único de la tarjeta para realizar futuros pagos de recurrencia y/o pagos programados. |
isApproved | Indica si la transacción fue aprobada. En este ejemplo, es “true”, lo que significa que la transacción fue aprobada. |
isFailure | Indica si la transacción ha fallado. En este ejemplo, es “false”, indicando que la transacción no ha fallado. |
errors | Contiene detalles como número de error y una descripción, si los hubiera. En este caso, es “null”, lo que significa que no se han producido errores en la transacción. |
Updated 3 months ago