Url de Confirmacion se llama 3 veces seguidas

324 views
Skip to first unread message

Daniel Botero Correa

unread,
Dec 13, 2014, 7:00:16 PM12/13/14
to desarrollador...@googlegroups.com
Hola,

Tengo un "problema", cuando termino mi transaccion y me dice que fue aprovada/declinada mi url de confirmacion se llama 3 veces.

Tengo que decirle de alguna manera que ya recibi la respuesta?

Hay alguna guia de esto? En la pagina:


no dice que tipo de respuesta espera el sistema de payulatam.

O esto es un funcionamiento normal?

Que saben de esto?

Daniel Botero Correa

ADMIN AP

unread,
Dec 15, 2014, 8:10:17 AM12/15/14
to desarrollador...@googlegroups.com
Hola Daniel, 

Es importante que me brindes algun dato adicional sobre las transacciones, ya sea el id de la orden o el merchantId de tu comercio, para validar en el sistema. La página de confirmación solo hace 3 llamados cuando los dos primeros presentan error en la comunicación de los servidores. 

Daniel Botero Correa

unread,
Feb 5, 2015, 6:04:08 PM2/5/15
to desarrollador...@googlegroups.com
Hola,

Que pena demorarme tanto tiempo para responder. Pero habia dejado esta parte del desarrollo a un lado mientras avanzaba en estas cosas.

Hoy volvi a hacer pruebas y sigue pasando lo mismo. Sigo teninedo 3 llamados a la pagina de confirmacion.

Estoy trabajando con el merchanid de pruebas de colombia.

merchanid: 500238
reference_sale: 23_1_6_7
reference_pol: 6536650
sign: 84f5286b484b82b0c6abd8ee9d56c00e
Value: 183.80

(Hay una imagen adjunta con la transaccion)

Debo responderle algo en especifico al servidor?

Yo utilizo un webservice y normalmente envio un json como respuesta: En realidad retorno un: IHttpActionResult, pero esto lo convierto en json para coger el objeto insertado. Uds necesitan una respuesta distinta?

Yo utilizo un ASP.NET WEB API 2 en MVC 

Otra cosa que me parece rara es que me esta devolviendo un tax de 25% y en realidad yo le pongo el 16%

Ejemplo:

Amount: 158.45263 (sin tax)
Amount: 183.805051 (al 16%)
Tax: 25.3524208
TaxReturnBase: 158.45263


Y cuando miro los datos de la pagina de confirmacion, me dice que el tax es de 25%

Es mejor dejar el tax y taxReturnBase en 0?

Si pongo el tax en 0 mi valor no se incrementa al 16% como dice la documentacion.

En esta pagina


En la parte de Consideraciones sobre las Variables esta la explicacion.

Muchas gracias.
Daniel BOTERO CORREA


transaction.PNG

ADMIN AP

unread,
Feb 6, 2015, 11:44:10 AM2/6/15
to desarrollador...@googlegroups.com
Hola Daniel, 

1. Con respecto al inconveniente de la página de confirmación pude observar que nuestro sistema está obteniendo un mensaje de respuesta del HTTP 201, por lo que se realizará automáticamente 3 envíos de la información ya que lo consideramos como un error y no como una petición exitosa 200 OK. 

Revisando el error 201, corresponde a que el request ha sido aceptado exitosamente por tu servidor pero que se ha creado un nuevo recurso. La función IHttpActionResult permite preestablecer encabezados específicos / propiedades de respuesta HTTP. Por ejemplo, al responder a una petición POST, desea establecer automáticamente el código de estado de 201 (creado) y establecer la cabecera ubicación.

Es importante que verifiques que no se cree un nuevo recurso al recibir la petición, y que nuestro servidor reciba un 200 OK cuando realice comunicación con tu servidor. 

Yo te recomiendo crear un log en un archivo .txt en tu servidor para ver las variables que obtienes antes de realizar cualquier modificación en tu base de datos o de consumir esa información. A continuación te adjunto una pagina que crea un archivo .txt en tu servidor, ésta página la puedes ubicar en el servidor de la integración y enviar la URL de la siguiente forma (es un ejemplo)


2. Con respecto al Iva necesito primero aclarar que el valor que estas enviando en los campos "amount, tax y taxReturnBase" no son coherentes con el tipo de moneda seleccionada COP. De igual forma, las entidades financieras en Colombia solo permiten procesar en la moneda local y no procesan valores con decimales (centavos de peso), por lo que nuestro sistema redondea los valores para enviar a la red valores enteros. Por esto en nuestro ambiente de pruebas, el amount que estas enviando lo redondeamos a 184, el tax lo redondeamos a 25 y el taxReturnBase a 158.

Teniendo en cuenta lo anterior, puede ser que estés indicando la moneda errónea para la petición de pago. En caso que esos valores correspondan a dólares deberás enviar en el campo currency USD y nuestro sistema identificará la moneda local de procesamiento para hacer la conversión respectiva conforme a la TRM del día. 

Por ultimo, quiero recordarte que el valor mínimo en nuestro ambiente real (no STG) para una transacción de Tarjeta de Crédito, debe ser por lo menos lo correspondiente a $3 USD según la TRM del día, por ejemplo hoy sería un valor mínimo de $7100 COP.

Reply all
Reply to author
Forward
0 new messages