Docs
Docs

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

CampoDescripciónNota
transactionTypeIndica el tipo de transacción. En este caso, debe ser "sale" o "preauth".
merchantIdIdentificador único del comerciante en la pasarela de pago, es asignado al momento de crear la cuenta.
terminalIdIdentificador único de la terminal, es asignado al momento de crear la cuenta.
orderContiene detalles sobre la orden de compra.
merchantOrderIdIdentificador único de la orden asignado por el comercio.
amountMonto total de la orden.
currencyCódigo de moneda según el estándar ISO 4217.
cardInformación relacionada con la tarjeta del cliente.
cardNumberNúmero de la tarjeta.
expiryMonthMes de vencimiento de la tarjeta.
expiryYearAño de vencimiento de la tarjeta.
cvv2Código de seguridad de la tarjeta.
holderNameNombre del titular de la tarjeta.
emailDirección de correo electrónico asociada a la tarjeta.
recurringPaymentConfiguración para pagos recurrentes.Opcional, si no se envía el valor predeterminado es “false”.
saveCardOnfileIndica si se debe guardar la tarjeta en el archivo para futuras transacciones.
installmentsDetalles sobre el pago a plazos.Opcional, si no se envía la transacción, se procesara sin cuotas ni pagos diferidos.
initialDiferementDiferimiento inicial.
numberInstallmentsNúmero de cuotas.
planTypeTipo de plan de pago (“0“ para plan regular).
threeDsAuthenticationInformación para la autenticación 3D Secure.Opcional si no se envía la transacción se enviara sin protección de 3ds
eciIndica el valor del ECI (Electronic Commerce Indicator).
cavvValor del CAVV (Cardholder Authentication Verification Value).
ucafUCAF (Universal Cardholder Authentication Field).
xidValor del XID (Transaction ID).
versionVersión del protocolo 3D Secure utilizado.
dsTransactionIdIdentificador único de la transacción en el sistema de autenticación 3D Secure.
protocolTypeIndica 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

CampoDescripción
idId único de la transacción asignado por la pasarela de pagos.
orderContiene detalles sobre la orden de compra.
merchantOrderIdIdentificador único de la orden asignado por el comercio.
amountMonto total de la orden.
currencyCódigo de moneda según el estándar ISO 4217.
payloadContiene información detallada sobre la transacción.
responseCodeCódigo de respuesta que indica el resultado de la transacción (en este caso, "00" indica aprobación).
responseDescriptionDescripción asociada al código de respuesta.
authorizationNumberNúmero de autorización de la transacción.
referenceNumberNúmero de referencia asociado a la transacción.
statusEstado de la transacción, en este caso, "paid" indica que la transacción ha sido completada con éxito.
recurringPaymentEn caso que los datos de tarjeta hayan sido almacenados.
tokenIdentificador único de la tarjeta para realizar futuros pagos de recurrencia y/o pagos programados.
isApprovedIndica si la transacción fue aprobada. En este ejemplo, es “true”, lo que significa que la transacción fue aprobada.
isFailureIndica si la transacción ha fallado. En este ejemplo, es “false”, indicando que la transacción no ha fallado.
errorsContiene 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.