Skip to main content

Validación de Transacción

Autenticación HMAC

Toda la comunicación con API de PAGO46 requiere de autenticación HMAC, favor leer la sección Autenticación HMAC antes de continuar con la integración.

Siempre Server-side Requests

Las credenciales (provider key, provide secret y bank country currency id) nunca deben ser expuestas a usuarios finales no autorizados y toda la comunicación HTTP entre el Proveedor y PAGO46 debe hacerse Server-side, nunca desde el browser o app del usuario final. Exponer las credenciales puede provocar serias vulnerabilidades de seguridad para el comercio y sus consumidores.

Flujo General#

Un comercio puede afiliarse a PAGO46 para procesar transacciones en cualquier punto donde este se encuentre presente. A continuación se describe los pasos generales para completar la integración.

  • Obtener credenciales (provider key, provide secret y bank country currency id) y datos de prueba (ambiente sandbox) para comenzar integración. Si no tiene esta información, favor contacte a su ejecutivo comercial.

  • Implementar comunicación con endpoint check para verificación del documento proporcionado en la transacción y ,en caso de ser exitosa la validación, recibir el UUID de la transacción.

  • Implementar comunicación con endpoint notify para notificar que la transacción fue procesada exitosamente.

Conexión VPN

Una conexión VPN no es requerida por PAGO46 entre PAGO46 y el proveedor. La autenticación HMAC, protección de credenciales y comunicación HTTPS se considera adecuado para proteger la comunicación. Si el proveer requiere de uno conexión VPN debe contactar a su ejecutivo comercial y contacto técnico de PAGO46.

Verificación de Usuario#

Cuando el proveedor de transacciones recibe una transacción a través de PAGO46 este debe realizar una verificación del documento de identidad del usuario que realizó la transacción para posteriormente notificarla como una transacción recibida.

  • Path: /check
  • Method: POST

Parametros Header#

NombreTipoDescripciónRequerido
message-hash{hash}Hash HMAC SHA256 de autenticación. Más información.SI
message-date{date}Unix milisegundos timestamp mismo que se usó para generar HashSI
provider-key{provider-key}Key del proveedor de pagosSI

Parámetros Body#

NombreTipoDescripciónRequerido
amountStringMonto de la transacción en formato String con formato 2f. Ejemplo: 100.00SI
bank_country_currency_id{bank_country_currency_id}Código único del proveedor provisto por PAGO46.SI
bank_transaction_idStringIdentificador único de la transacción.SI
beneficiary_emailStringEmail del usuario o comercio que recibe la transacción.NO
beneficiary_nameStringNombre del usuario o comercio que recibe la transacción.NO
creation_dateStringFecha de la transacción. Formato debe ser %Y%m%dSI
descriptionStringDescripción de la transacción.NO
document_idStringDocumento de identidad del usuario.SI
external_contractStringSólo si aplica.NO
extra_document_idStringNúmero de Documento de identidad de registro tributario del usuario.NO
payer_emailStringEmail del usuario que realiza la transacción.NO
payer_nameStringEmail del usuario que realiza la transacción.NO
payment_methodStringMétodo de pago utilizado. Ejemplo: bank_transfer.SI
tax_amountStringRegistro de comisión.NO

Response#

Ejemplo#

  • OK - 200: Usuario existe y la transacción se generó exitosamente.
{
"code": 200,
"message": {
"transaction_uuid": "5e4ffdcf-e12a-4e7c-bf96-5a2f0163daf7"
},
"status": "successful"
}
  • Validation Error - 400: Error de validación.
{
"code": 400,
"message": "Transaction 1234567 already exists for bank: 599d801a-8c6b-4c87-9c7a-917a9b8d59c6",
"status": "error"
}

Usuario Validado#

Una vez el usuario haya sido validado y la transacción haya sido generada exitosamente el comercio deberá notificar la transacción utilizando el transaction_uuid recibido en la respuesta.