Download the PHP package devswert/dolly without Composer
On this page you can find all versions of the php package devswert/dolly. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package dolly
:rabbit: Dolly
Dolly nace de la necesidad de tener un package rápido para integrar el servicio SOAP de WebPay en cualquier comercio que se encuentre construido con Laravel. Este package no es oficial de TransBank y de momento solo es soportado la transancción normal.
Compatible desde la versión 5.4 de Laravel. (No he probado versiones antigua de L5.x)
Instalación
Instalar via composer
Agregar nuestro ServiceProvider
Luego, publicar la configuración y migración necesaria para que Dolly funcione:
Se recomienda ejecutar php artisan migrate
para que se instale la tabla necesaria por Dolly.
En el archivo de configuración (config/dolly.php) pueden indicar las rutas a las llaves necesarias para realizar las pruebas a WebPay como también el código de comercio. Las llaves deben ser archivos físicos, y en los campos de configuración se debe indicar la ruta, como base Dolly considera la función base_path() y le añade un slash, por lo que si dejaran sus certificados en storage/app/your_certificate.crt
deben poner la tuya tal cual en la variable de entorno.
Uso
El flujo de WebPay es ir y venir entre el sitio, los pasos para poder integrar WebPay serían:
- Crear dos rutas basadas en POST. Dejar estas rutas omitidas en el middleware VerifyCsrfToken. Una debe ser result y otra de end, eres libre de poner la ruta que quieras.
- Crear una vista sencilla que usaremos para redireccionar a WebPay, abajo entenderan por que.
- Al momento de procesar el carro de compras y si el método de pagos fue WebPay se debe instanciar los metodos de la siguiente manera:
Al final de este método se carga una vista con un formulario básico, lo que ha pasado hasta ahora es enviar un request a Transbank informando que haremos una compra, a ello, Transbank nos da un token que dura cierto tiempo y una URL a la cual debe redireccionar via POST. Es por ello que necesitamos un formulario como el siguiente:
- Crear un controlador que recepcione ambos resultados que nos pueda dar WebPay. (Recuerden que WebPay retorna y se comunica con el comercio mediante POST) La función de resultado deberia quedar de la siguiente manera
Cada transacción sea exitosa o no almacena un log en la tabla webpay_logs. PRs son muy bienvenidos
Happy Coding!