Páginas de respuesta y confirmación
  • 21 Sep 2022
  • 5 Minutes to read
  • Contributors
  • Dark
    Light

Páginas de respuesta y confirmación

  • Dark
    Light

Article summary

Tipos de paginas de respuesta

Para presentar el estado de una transacción a sus clientes y obtener los parámetros de la transacción en su página de respuesta, se brindan dos alternativas:

Estática: Consulte el resultado de la transacción y redirija a sus clientes a una página de respuesta personalizada según el resultado obtenido, lo único que debe hacer es incluir la url del archivo html e invocar el parámetro según sea el caso (data-epayco-acepted data-epayco-rejected data-epayco-pending).

Dinámica Puede usar una página de respuesta dinámica y personalizada, es decir, que dependiendo del estado o los datos que se envíen en una transacción, la información presentada en la página de respuesta varía, para ello deberá incluir el parámetrodata-epayco-responsepara invocarla.

Para obtener los atributos que se envían en la página de respuesta dinámica deberás hacer un llamado mediante el siguiente endpoint:
 https://secure.epayco.co/validation/v1/reference/ + ref_payco

A continuación se relaciona la información de la transacción presentada al usuario pagador en la página de respuesta dinámica:

campoDatos
Referencia
12583865
Fecha
2019-12-10 12:08:01
Respuesta
Aceptado
motivo
00-Aprobada
Banco
BANCO DE PRUEBAS
Recibo
12583865
Total
100 dolares

Si deseas verificar la información suministrada en la respuesta de la transacción podrás consultar el código GITHUB, donde se evidencia el proceso de validación según los parámetros enviados.

Atributos de las transacciones: 

Los siguientes son los  parámetros  o atributos que deben integrar cada transacción:

CampoDescripción
FormatoLongitud
x_cust_id_clienteId del clienteNúmeros enteros 11 dígitos máximo 
x_descriptionDescripción del productoSolo textoNo aplica
x_amountValor total del productoNúmeros decimalesNumero entero: 15 dígitos máximo
 Números decimales: 2 dígitos máximo
x_id_facturaId de la facturaVarchar255 caracteres máximo 
x_currency_codeCódigo de la moneda (COP,USD)Varchar3 caracteres máximo 
x_transaction_dateFecha y hora de la transacciónFecha y horaY-m-d H:i:s
x_transaction_idNúmero de recibo de la transacciónVarchar255 caracteres máximo 
x_ref_paycoNúmero de recibo de la transacciónNúmeros enteros11 dígitos máximo 
x_cod_transaction_stateCódigo estado de la transacciónVarchar255 caracteres máximo 
x_signatureLlave de seguridad generada por ePayco para firmar los valores enviados a las url de respuesta y de confirmaciónTextNo aplica
x_test_requestEstado de la petición (prueba="TRUE" producción="FALSE")Varchar20 caracteres máximo 

Página de confirmación

Este parámetro se podrá utilizar para recibir confirmaciones de las transacciones creadas mediante herramientas de cobra (Link de cobro, botón de cobro), botón de donación o pago dividido. Para ellos deberás enviar  el parámetrodata-epayco-confirmation.

Se devuelven los siguientes datos o atributos a la URL de respuesta por POST ya la URL de confirmación según el método enviado en la variable p_confirm_method . Ver enGITHUB

Atributos de las transacciones:

CampoDescripciónFormatoLongitud
x_cust_id_clienteId del clienteNúmeros enteros 11 dígitos máximo 
x_ref_paycoNúmero de recibo de la transacciónNúmeros enteros11 dígitos máximo 
x_id_facturaId de la facturaVarchar255 caracteres máximo 
x_id_invoiceId de la facturaVarchar255 caracteres máximo 
x_descriptionDescripción del productoSolo textoNo aplica
x_amountValor total del productoNúmeros decimalesNumero entero: 15 dígitos máximo
 Números decimales: 2 dígitos máximo
x_amount_countryValor total del productoNúmeros decimalesNumero entero: 15 dígitos máximo
 Números decimales: 2 dígitos máximo
x_amount_okValor total del productoNúmeros decimalesNumero entero: 15 dígitos máximo
 Número Números decimales: 2 dígitos máximo
x_taxIVANúmeros decimalesNumero entero: 15 dígitos máximo
 Número Números decimales: 2 dígitos máximo
x_tax_icoImpuesto al consumo ICONúmeros decimalesNumero entero: 15 dígitos máximo
 Número Números decimales: 2 dígitos máximo
x_amount_baseValor sin IVANúmeros decimalesNumero entero: 15 dígitos máximo
 Número Números decimales: 2 dígitos máximo
x_currency_codeCódigo de la moneda (COP,USD)Varchar3 caracteres máximo 
x_bank_nameNombre del bancoVarchar255 caracteres máximo 
x_cardnumberNombre del tarjetahabienteVarchar20 caracteres máximo 
x_quotasNúmero de cuotas a diferir el pagoNúmeros enteros Máximo 2 dígitos
x_respuestax_respuestaVarchar255 caracteres máximo 
x_responsex_respuestaVarchar255 caracteres máximo 
x_approval_codeCódigo de aprobaciónVarchar255 caracteres máximo 
x_transaction_idNúmero de recibo de la transacciónVarchar255 caracteres máximo 
x_fecha_transaccionFecha y hora de la transacciónFecha y horaY-m-d H:i:s
x_transaction_dateFecha y hora de la transacciónFecha y horaY-m-d H:i:s
x_cod_respuestaCódigo de respuesta de la transacciónNumeros enteros 11 dígitos máximo 
x_cod_responseCódigo de respuesta de la transacciónNumeros enteros 11 dígitos máximo 
x_response_reason_textDescripción de la respuestaVarchar255 caracteres máximo 
x_errorcodeCódigo error de la transacciónNumeros enteros Máximo 2 dígitos
x_cod_transaction_stateCódigo estado de la transacciónVarchar255 caracteres máximo 
x_transaction_stateEstado de la transacciónVarchar255 caracteres máximo 
x_franchiseFranquiciasVarchar255 caracteres máximo 
x_businessNegocioVarchar255 caracteres máximo 
x_customer_doctypeTipo de documento del tarjetahabienteVarchar10 caracteres máximo 
x_customer_documentDocumento del tarjetahabienteVarchar100 caracteres máximo 
x_customer_nameNombre del tarjetahabienteVarchar45 caracteres máximo 
x_customer_lastnameApellidos del tarjetahabienteVarchar45 caracteres máximo 
x_customer_emailEmail del tarjetahabienteVarchar45 caracteres máximo 
x_customer_phoneTeléfono del tarjetahabienteVarchar255 caracteres máximo 
x_customer_movilCelular del tarjetahabienteVarchar50 caracteres máximo 
x_customer_ind_paisIndicador del país del clienteVarchar20 caracteres máximo 
x_customer_countryPaís del tarjetahabienteVarchar255 caracteres máximo 
x_customer_cityCiudad del tarjetahabienteVarchar255 caracteres máximo 
x_customer_addressDirección del tarjetahabienteVarchar255 caracteres máximo 
x_customer_ipUbicación IP del tarjetahabienteVarchar255 caracteres máximo 
x_signatureLlave de seguridad generada por ePayco para firmar los valores enviados a las url de respuesta y de confirmaciónTextNo aplica
x_test_requestEstado de la petición (prueba="TRUE" producción="FALSE")Varchar20 caracteres máximo 
x_extra1Dato extra 1Varchar255 caracteres máximo 
x_extra2Dato extra 2Varchar255 caracteres máximo 
x_extra3Dato extra 3Varchar255 caracteres máximo 
x_extra4Dato extra 4Varchar255 caracteres máximo 
x_extra5Dato extra 5Varchar255 caracteres máximo 
x_extra6Dato extra 6Varchar255 caracteres máximo 
x_extra7Dato extra 7Varchar255 caracteres máximo 
x_extra8Dato extra 8Varchar255 caracteres máximo 
x_extra9Dato extra 9Varchar255 caracteres máximo 
x_extra10Dato extra 10Varchar255 caracteres máximo 
Tener en cuenta:
Los parámetros x_cod_response x_response x_response_reason_text permiten conocer y entender la respuesta de la transacción.
Recepción de datos en la página de confirmación:
Es importante que al recibir los datos de la transacción en la página de confirmación, verifiques el valor pagado, referencias y demás información con el fin de garantizar que coincida con el valor asignado al producto o servicio ofrecido.

Comprobación x_signature

Para comprobar el valor de esta variable y la integridad de los datos enviados se debe generar una firma concatenando los siguiente valores:

hash('sha256',$p_cust_id_cliente.'^'.$p_key.'^'.$x_ref_payco.'^'.$x_transaction_id.'^'.$x_amount.'^'.$x_currency_code)

Es importante que estas variables estén separadas por el carácter '^'

Franquicias

A continuación se muestran los códigos de las franquicias (Medios de pago) que son retornados por ePayco.

Código
Descripción
AMAmex
BABaloto
CRCredencial
DCDiners Club
EFEfecty
GAGana
PRPunto Red
RSRed Servi
MCMastercard
PSEPSE
SPSafetyPay
VSVisa

Códigos de respuesta

A continuación se muestran los códigos de respuesta (x_cod_transaction_state) y response (x_cod_transaction_state) que son retornados por ePayco, los cuales deben de tenerse en cuenta al momento de registrar la confirmación de una transacción:

Cod
Respuesta
EstadoResponse
1Aceptada
la transacción fue aprobada
2Rechazada
 transacción rechazada con el detalle del motivo, para PSE están las opciones el usuario no aceptó o rechazó la transacción en el banco ó el usuario cerró el navegador, en Tarjeta de crédito las opciones son: fondos insuficientes, tarjeta no válida, rechazada por la red de procesamiento.
3Pendiente
La transacción se encuentra pendiente por aprobación, para PSE las transacciones quedan pendientes y pueden tardar hasta 20 minutos en que retornen el final de la transacción ya sea con estado aprobado o rechazado, para pagos en efectivo las transacciones quedan inicialmente como pendientes hasta que el usuario no realice el pago en un punto físico.
4Fallida
No se culmina el flujo de creación de la transacción de manera exitosa
6Reversada
Reintegro del dinero al cliente pagador, es de aclarar que sólo se pueden revertir transacciones por tarjeta de crédito, esta acción se puede gestionar directamente desde el Dashboard si la transacción fue realizada el mismo día hasta las 9pm, pasado este tiempo debe solicitarse ante la red de procesamiento.
7retenido
La es retenida cuando el área de auditoría no finalizará la validación de la transacción ya sea porque no se tuvo contacto con el cliente pagador o incluso el comercio (aplica sólo para modelo agregado con medio de pago tarjeta de crédito)
8iniciada
Estado interno para iniciar una transacción
9caducada
Transacción caducada, este estado solo se da en el medio de pago en efectivo y SafetyPay debido a que el usuario no realiza el pago en el punto físico en un tiempo determinado (este tiempo de vencimiento lo define el comercio que va desde 12 horas hasta 8 días)
10abandonada
El usuario por algún motivo cerró el navegador y no culminó el proceso de diligenciamiento de la información.
11Cancelada
El usuario no culmino el proceso final pero diligencio la informacion

Tipos de documentos

A continuación se enumeran los códigos que retornan ePayco para representar los tipos de documentos de identificación:

IDTipo de documento
FormatoLongitud
NITNúmero de identificación tributariaNumérico mínimo 7 dígitos y máximo 10 dígitos
CCCedula de ciudadaníaNuméricomínimo 5 y máximo 15 dígitos
CECedula de extranjeríaNuméricomínimo 4 dígitos y máximo 8 dígitos
TITarjeta de identidadNuméricomínimo 4 dígitos y máximo 20 dígitos
PPNPasaporteAlfanuméricomínimo 4 dígitos y máximo 12 dígitos
SSNNúmero de seguridad socialNuméricomínimo 9 dígitos y máximo 9 dígitos
LICLicencia de conducciónNuméricomínimo 1 dígitos y máximo 20 dígitos
DNIDocumento nacional de identificaciónAlfanuméricomínimo 1 digito y máximo 20 dígitos

Was this article helpful?