Download the PHP package gjae/laravel-payper without Composer
On this page you can find all versions of the php package gjae/laravel-payper. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download gjae/laravel-payper
More information about gjae/laravel-payper
Files in gjae/laravel-payper
Package laravel-payper
Short Description Una integracion para aplicaciones laravel que deseen incorporara pagos via payper
License GPL-3.0-or-later
Informations about the package laravel-payper
Instalación
composer require gjae/laravel-payper
en el archivo config/app.php, dentro del arreglo de $providers, agregue la siguiente linea:
luego en el array $aliases, agregue la siguiente linea
por ultimo para terminar la instalación ejecute la siguiente linea:
php artisan vendor:publish --provider="Gjae\LaravelPayper\PayperServiceProvider"
a partir de este punto, notara ahora el archivo config/payper.php, 2 migraciones nuevas y archivos CSS Y JS en su carpeta public/vendor/laravelpayper ademas de 3 vistas nuevas en resources/views/vendor, estas ultimas son de base y le ayudara de guia en el proceso de pago (aunque puede modificarlas a gusto apra personalizarlas).
Ejecución de las migraciones
php artisan migrate
Uso basico
Archivo de configuración
Primeramente; abra su archivo de configuracion en config/payper.php y modifiquelo segun sus necesidades, breve explicación de cada linea de su archivo de configuración:
Habilita el modo debug de su instalación de la librería, cuando esta variable esta en true, las unicas tarjetas validas son aquellas que sse encuentran en "debug_cards" , en caso contrario (si esta en false), entonces la libreria emitira un error si la tarjeta ingresada para procesar el pago no se encuentra registrada en el atributo "debug_cards".
Origen de la petición, por ejemplo : wwww.example-domain.com
Token de acceso emitido por PAYPER, se recomienda crear la variable PAYPER_ACCESS_TOKEN en su archivo .env y desde ahi asignarle su valor
Porcentaje de impuesto (IVA por ejemplo)
Tarjetas validas en el proceso de desarrollo, si la variable "debug_mode" se encuentra como true, unicamente se procesaran las tarjetas agregadas en este arreglo
Posibles caso de rutas en caso de ... (transacción satisfactoria, fallida o pendiente), se recomienda usar el metodo name de las rutas, en caso de permanecer estas rutas en blanco, la libreria ejecutara rutas por defecto que enviaran a las vistas dentro de resources/views/vendor/payper
Ruta de redirección al completar el proceso, el usuario la define y debera llamar el metodo callback del facade Payper para retornar la URL
Funcionamiento
Para iniciar una transacción unicamente debe llamar al metodo begin del facade Payper, recibe como primer parametro un callback que a su vez recibe el objeto de la transacción propiamente y retorna una instancia con los datos completamente configurados y la instancia con el modelo en la BD pre-insertado. A continuación una vista rapida de sus principales metodos:
Una vez sea completado el proceso de pago la libreria de payper retornara la vista dependiendo de su configuración para los 3 tipos de casos posibles en una transacción.
Relacionando pagos con otros modelos
Para relacionar los pagos de payper con otros modelos de la aplicación, unicamente debe cumplir los siguientes requerimientos:
- Implementar el contrato Gjae\LaravelPayper\Contracts\HasTransaction
- Implementar el trait Gjae\LaravelPayper\Traits\HasTransactions
ejemplo:
Luego de hacer esto, unicamente necesita pasar como segundo argumento a la funcion begin del facade Payper, una instancia del modelo que implementa el contrato y el trait, ejemplo:
Una transacción puede relacionarse con mas de un objeto que implemente el contrato HasTransaction, independientemente el modelo que lo implemente, unicamente debe pasar un array de objetos como segundo parametro del metodo begin, ejemplo:
Recuperando las transacciones de un modelo
Puede recuperar todas las transacciones relacionadas a un modelo llamando al metodo transactions de la clase que utilice el trait HasTransactions, por ejemplo:
Trabajando la transacción de manera personalizada
La libreria ya provee una manera de ejecutar la transacción de manera automatica; en el formulario del archivo resources/views/vendor/payper/payper_form.blade.php, vera que el action esta destinado a la ruta con el nombre 'payper-payment'
ademas contiene un input oculto cuyo valor es la referencia de la transacción
Este formulario esta destinado a ser personalizado (si se desea), el formulario sera dirigido al controlador por defecto de la libreria, el usuario puede alterar este funcionamiento creando su propio controlador e inyectando al metodo del controlador, una instancia del contrato GatewayInterface, el cual se encarga de procesar la transacción
La instancia del contrato expone los siguientes metodos