kalimeromk/casys-laravel

Integration of casys payment method

v2 2023-02-19 20:55 UTC

This package is auto-updated.

Last update: 2024-11-18 18:43:57 UTC


README

This is a package to integrate Casys payment gateway in laravel it generates complete scaffolding for simple integration. It create:

Views

--resources/view/vendor/casys

Controller

--/Http/Controllers/CasysController

Aditional class

--/Http/Helper/Casys.php

Installation

Require this package in your composer.json "kalimeromk/casys-laravel": "9999999-dev", and run composer update or run composer require kalimeromk/casys-laravel

After updating composer you need to run :

$ php artisan vendor:publish --provider="Kalimero\Casys\CasysServiceProvider"

It will publish the files from this package it will add this files

config/casys.php,
app/Http/Controllers/CasysController.php,
app/Traits/Casys.php,
resources/views/vendor/casys
routes/casys.php

Laravel

Register route file in RouteServiceProvider or add this routes to existing root file

use App\Http\Controllers\CasysController;

Route::get('paymentLoader', [CasysController::class, 'index'])->name('loader');
Route::post('payment', [CasysController::class, 'getCasys'])->name('validateAndPay');
Route::post('paymentOKURL', [CasysController::class, 'success'])->name('paymentOKURL');
Route::post('paymentFailURL', [CasysController::class, 'fail'])->name('paymentFailURL');

NOTE: This is only needed in Laravel <=7

Route::get('paymentLoader', 'CasysController@index')->name('loader');
Route::post('payment', 'CasysController@getCasys')->name('validateAndPay');
Route::post('paymentOKURL', 'CasysController@success')->name('paymentOKURL');
Route::post('paymentFailURL', 'CasysController@fail')->name('paymentFailURL');

how to use

Add you credentionals in .env file like this

PAY_TO_MERCHANT=
MERCHANT_NAME=
AMOUNT_CURRENCY=MKD
PAYMENT_OK_URL=
PAYMENT_FAIL_URL=
CASYS_TOKEN=

and now only need to pass amount and client data to the method in controller

Views at the moment are coming form the package if you want to use the published one jus edit the controller

Info

This package is still very alpha and it is not created as a proper package so it can be easy updated to feed you needs

- Suggestions are welcome :)