abdallahmohammed / urway-laravel
URWAY REST API package for Laravel
Installs: 9 647
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 2
Forks: 7
Open Issues: 0
Requires
- php: ^7.4|8.*
- guzzlehttp/guzzle: >=6.0
- illuminate/support: ^5.2|^6.0|^7.0|^8.0|^9.0|^10.0
Requires (Dev)
- orchestra/testbench: ~3.0|^4.0|^5.0
- phpunit/phpunit: ^5.3|~6.0|~8.0
README
Installation
composer require abdallahmohammed/urway-laravel
In Laravel starting from 6.x the service provider will automatically get registered. In older versions of the framework just add the service provider in config/app.php
file:
'providers' => [ // ... URWay\URWayServiceProvider::class, ],
You can optionally register the facade in config/app.php
'facades' => [ // ... 'URWay' => URWay\Facade\URWay::class, ],
You can publish using the following command
php artisan vendor:publish --provider="URWay\URWayServiceProvider"
When published, the config/urway.php
config file contains:
<?php return [ 'mode' => env('URWAY_MODE', 'test'), 'auth' => [ 'terminal_id' => env('URWAY_TERMINAL_ID'), 'password' => env('URWAY_PASSWORD'), 'merchant_key' => env('URWAY_MERCHANT_KEY'), ], ];
Usage
use URWay\Client; // Create clint instance. $client = new Client(); $client->setTrackId('YOUR_TRAKING_ID') ->setCustomerEmail('...') ->setCustomerIp('...') ->setCurrency('USD') ->setCountry('EG') ->setAmount(5) ->setRedirectUrl('...'); // Replace presented attributes with the given array. $client->setAttributes([ '...' => '...' ]); // Merge presented attributes the given array. $client->mergeAttributes([ '...' => '...' ]); // Replace one of presented attributes with the new value. $client->setAttribute('...', '...'); // Remove one of attributes. $client->removeAttribute('...'); // Determine whether an attribute exists. $client->hasAttribute('...'); // returns boolean (true, or false) $redirect_url = $client->pay(); return redirect()->url($redirect_url);
And on callback to handle response put the following code:
use URWay\Client; // Create clint instance. $client = new Client(); $response = $client->find('TRANSACTION_ID'); if ($response->isSuccess()) { // } if ($response->isFailure()) { // } // To dump all payment details. dd($response);
Production
To use this package in production mode, just update the mode
value to production
in the config/urway.php
file.