A simple library that provides integration to local Bank payment processing services in Turkmenistan.
Gateway-TM offers seamless integration with three primary payment services: Rysgal, AltynAsyr, and Senagat. This library facilitates the process of registering payment orders and checking their status. It has been designed to be easily extendable, allowing users to incorporate additional gateway services by extending the AbstractGateway class and implementing their custom class. This ensures a high level of flexibility in integrating new payment service types.
- Laravel 9 or higher
- PHP 8.1 or higher
Default installation is via Composer.
composer require merdan/gateway-tm
The package will automatically register itself.
Add the Service Provider and alias manually to your
config/app
file in the providers
section.
'providers' => [
//...
Merdanio\GatewayTM\Payment\Providers\GatewayServiceProvider::class,
]
'aliases' => Facade::defaultAliases()->merge([
// 'Example' => App\Facades\Example::class,
'Gateway' => Merdanio\GatewayTM\Payment\Facades\GatewayFacade::class
])->toArray(),
Publish the config
php artisan vendor:publish --tag="gateway"
Please configure the following credentials in your .env file, which you will obtain from the bank.
ALTYN_ASYR_USER=
ALTYN_ASYR_PASSWORD=
ALTYN_ASYR_API=
ALTYN_ASYR_ORDER_URI='register.do'
ALTYN_ASYR_STATUS_URI='orderStatus.do'
RYSGAL_USER=
RYSGAL_PASSWORD=
RYSGAL_API=
RYSGAL_ORDER_URI='register.do'
RYSGAL_STATUS_URI=
SENAGAT_USER=
SENAGAT_PASSWORD=
SENAGAT_API=
SENAGAT_ORDER_URI='register.do'
SENAGAT_STATUS_URI='orderStatus.do'
Add Gateway facade to your class, controller
use Gateway;
class MyController extends Controller {
public function index() {
return Gateway::availableGates();
}
}
Gateway::availableGates();
Gateway::registerOrder('rysgal', // providers code
'success_route_name', // route to return when payment is successful
'fail_route_name', // route to return when payment failed
14500, // payment amount 145 man.
'Example Ecommerse payment', // payment description
'ord-123' // payment order number
);
Gateway::getOrderStatus(
'rysgal', //providers code
'ord-123' //order number
);
Is open-sourced software licensed under the MIT license.