- Actualización a Webpay REST en mi aplicación WordPress con WooCommerce - 13 mayo, 2022
- Actualización de Webpay SOAP a REST en mi aplicación con Ruby On Rails - 28 abril, 2022
- Construyendo arquitecturas altamente escalables - 27 julio, 2020
En artículos anteriores, habíamos abordado como integrar una aplicación construida en Rails con Webpay Plus, para luego certificar esa integración y poder recibir pagos a través de nuestro sitio.
Esta integración estaba basada en la antigua API SOAP de Transbank para Webpay. Esta continuará funcionando hasta el día 5 de julio del 2022, y posterior a eso, la darán de baja. Por lo anterior todos tenemos que actualizar nuestras integraciones a la nueva API de Webpay, que es del tipo REST.
¿Cómo actualizar mi antigua integración a Webpay?
Para nuestra suerte, el cambio es bastante sencillo, si ya se tenia todo armado desde antes. Basta con generar un nuevo archivo con los Endpoints REST, y desconectar el antiguo y conectar el nuevo.
Te dejo un archivo ejemplo de como lo armamos nosotros.
La mayor diferencia de la forma SOAP a la REST, es que antiguamente usábamos certificados auto-firmados y una llave que nos entregaba el soporte de Transbank, hoy basta con Key ID y un Secret ID.
‘Tbk-Api-Key-Id’ => Rails.application.secrets.webpay[“key_id”]
‘Tbk-Api-Key-Secret’ => Rails.application.secrets.webpay[“key_secret”]
Con la nueva clase Webpay Plus, ya solo faltaría remplazar los antiguos métodos init_transaction y transaction_confirmation en el return_url, en las acciones del controlador que corresponda.




Con estos pasos, tu integración ya se encontraría actualizada y podemos continuar a la validación de ésta.
¿Cómo es el proceso de validación?
Es simple, solo se debe ingresar al siguiente link, y verás algo como lo que te muestro a continuación:


Acá claramente debemos ir por la segunda opción, porque nos integramos directamente a la API.


Ingreso de datos relevantes
A continuación te pedirán algunos datos importantes, que debes tener a mano, como:
- Código de comercio asociado.
- Rut del comercio.
- Nombre y apellido -de la persona encargada de la integración-.
- Correo (Correo de la misma persona, donde llegara la llave productiva).
- Número telefónico (Te llamarán en caso de dudas, a mi no me llamaron).
Además, como puedes ver en la imagen, se te pedirá que vuelvas a cargar el logo que generaste en la integración anterior. Así que procura tenerlo. Es una imagen del logo del comercio, con formato PNG y un tamaño de 130×59.


En el punto 7, se te consulta si la integración funciona dentro de una aplicación nativa de teléfonos. En este caso, estamos en web, así que la respuesta es No.


Además se te solicitará una URL, para poder probar la integración. Procura tenerla preparada con la actualización REST. Se te preguntará, también, por una URL productiva, si no la tienes, manda la misma que la anterior.
En el punto 10, se te preguntará por la moneda con la que contrataste el servicio. Pon la misma que pusiste en el contrato, que lo más seguro es que sea en CLP.


En el paso 11, el tipo de desarrollo. Tenemos que seleccionar desarrollo propio, conectándose directamente a la API. Si es que no seguiste este tutorial y usas un SDK, debes seleccionar la primera obviamente.


En el lenguaje de programación, obvio, Ruby.


En el punto 13, el producto integrado será Webpay Plus. Si existen dudas de las diferencias en los productos, podemos evaluar sacar un artículo explicando uno por uno pero, para este caso, si queremos recibir pagos de forma normal directamente desde Webpay y con un solo comercio como principal, la opción es la A


Pruebas de integración


Las pruebas deben ser realizadas en el ambiente de INTEGRACIÓN, que debe estar preparado en tu URL que indicaste como de pruebas. Acá te dejo la URL con los datos de prueba para integración.
Todas estas pruebas se realizan en tu ambiente de TEST, ejecutando compras de prueba y tomando nota del token que se te genera. Así que asegúrate de que este token (token_ws) se guarde en algún lado para poder enviarlo en el formulario.
Los datos de las tarjetas que use fueron:
- Crédito:
VISA 4051 8856 0044 6623
CVV 123 – Fecha ex: 12/25
- Débito:
4051 8842 3993 7763
Prueba 1 — Compra exitosa crédito sin cuotas
Realizar una compra normal, con tarjeta de crédito y sin cuotas.


Iniciar con compra normal en el eCommerce, y luego al ingresar a Webpay escribir los datos de la tarjeta, como muestra la siguiente imagen:


Luego en el siguiente paso, ingresar los datos de prueba para el banco de Transbank. Si no los recuerdas, son los siguientes:
- Rut: 11.111.111–1
- Clave: 123


Como primer ejemplo y de acuerdo a lo que solicita la prueba, se debe “Aceptar” la transacción.




Una vez se procese el pago, Webpay responderá con un set de datos relevantes para ti, entre ellos el “token_ws” que es lo que necesitas para ingresar en el formulario:


Prueba 2 — Compra rechazada crédito sin cuotas


Mismo ejercicio que el anterior, una compra normal, sin cuotas, pero ahora se debe “Rechazar” la transacción, como lo muestra la siguiente imagen:


Es importante recalzar que la compra no se finalizará, por lo que debes idear una forma de guardar el “token_ws” para poder registrarlo en el formulario.
Prueba 3 — Compra exitosa crédito con cuotas


Realizar mismo ejercicio que en la prueba 1, pero esta vez seleccionar un número de cuotas al ingresar los datos de la tarjeta de crédito:


Registrar el “token_ws” y se te mostrará un mensaje como el siguiente:


Prueba 4 — Compra rechazada con débito
En esta oportunidad, se debe realizar nuevamente una compra y rechazarla, como la de la prueba 2, pero sin embargo esta debe ser con una tarjeta de débito.


En la siguiente imagen te dejo un ejemplo:


No olvides de registrar el “token_ws”, para ingresarlo en el formulario.
Prueba 5 — Compra anulada
La más simple de todas, la imagen siguiente es super gráfico y no necesita tantas explicaciones. Solo procura registrar el token_ws de la transacción porque ahora no será tan evidente como todas las anteriores pruebas. Es por ello que yo registro el token_ws en la respuesta inmediata del return_url, luego del init_transaction.


Últimos pasos
Se te consulta si es que implementaste la anulaciones o reversas de transacciones de la API. No es obligatorio implementar este endpoint. Pero si eventualmente quieres hacerlo, te dejo la documentación.


Y se termina la parte de pruebas. Ya falta unos pocos pasos para terminar el formulario.


Casos bordes adicionales:






Y con esto finalizas el proceso de validación ahora solo queda esperar el correo, que se refleja en las siguientes líneas donde ya se te habilitan credenciales productivas y puedes operar finalmente con la URL definitiva.


Su Tbk-Api-Key-Secret productiva es la siguiente:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Su Tbk-Api-Key-Id productiva es la siguiente:
59xxxxxxxxxx
Para finalizar el proceso debe:
Realizar la configuración al ambiente de producción, encontraras la información en el siguiente link https://www.transbankdevelopers.cl/documentacion/como_empezar#configuracion-de-produccion
Modificar los valores de Tbk-Api-Key-Secret y Tbk-Api-Key-Id del ambiente de integración a producción de acuerdo a los valores indicados anteriormente
Habilitar un producto de prueba dentro de su sitio por un monto de $50.
Realizar una transacción con una tarjeta real mediante su sistema de pago (crédito o débito) para validar el correcto funcionamiento de medio de pago en su sitio.
Si la transacción resulta exitosa, puede generar ventas con total normalidad y no quedarían gestiones pendientes por parte nuestra. En cambio si la transacción falla o presenta algún error, por favor contáctese lo antes posible con nuestra mesa de Fallas Virtuales a los números 600 638 6380 y +562 2661 2700 desde celulares o bien al correo soporteweb@transbank.cl durante las 24 horas del día.
Con estos pasos ya tendrías lista tu integración a la API REST de Webpay Plus. Recuerda que tienes solo hasta el 5 de julio de 2022 para realizar esta actualización, posterior a eso, darán de baja la API SOAP.
0 comentarios