laravelified-zarinpal / zarinpal
transaction request system for zarinpal (Laravel 5.2 ready)
Requires
- guzzlehttp/guzzle: ^5.3
Requires (Dev)
- phpunit/phpunit: 5.3.*
- satooshi/php-coveralls: ^1.0
This package is not auto-updated.
Last update: 2025-01-04 21:36:09 UTC
README
transaction request library for zarinpal
##laravel ready this package is going to work with all kinds of projects, but for laravel i add provider to make it as easy as possible. just add these two line of declaration to config/app.php:
'providers' => [ ... Zarinpal\Laravel\ZarinpalServiceProvider::class ... ]; 'aliases' => [ ... 'Zarinpal' => Zarinpal\Laravel\Facade\Zarinpal::class, ];
to providers list in "config/app.php". and run
'php artisan vendor:publish --provider="Zarinpal\Laravel\ZarinpalServiceProvider"
'
to add config file to laravel configs directory config it and you are good to go
now you can access the zarinpal lib like this:
use Zarinpal; Zarinpal::request("example.com/testVerify.php",1000,'testing'); Zarinpal::verify('OK',1000,$answer['Authority']);
##usage
###installation
composer require laravelified-zarinpal/zarinpal
or
"require": { ... "laravelified-zarinpal//zarinpal" : "^2", ... },
###request
use Zarinpal; $test = new Zarinpal('XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'); echo json_encode($answer = $test->request("example.com/testVerify.php",1000,'testing')); if(isset($answer['Authority'])) { file_put_contents('Authority',$answer['Authority']); $test->redirect(); } //it will redirect to zarinpal to do the transaction or fail and just echo the errors. //$answer['Authority'] must save somewhere to do the verification
###verify
use Zarinpal; $test = new Zarinpal('XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'); $answer['Authority'] = file_get_contents('Authority'); echo json_encode($test->verify('OK',1000,$answer['Authority'])); //'Status'(index) going to be 'success', 'error' or 'canceled'
##change driver driver can be changed between restAPI , soap and NuSoap with using:
restAPI (recommended):
$test = new Zarinpal('XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX');
or soap:
use Zarinpal\Drivers\SoapDriver; $test = new Zarinpal('XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',new soapDriver());
or nuSoap:
use Zarinpal\Drivers\NuSoapDriver; $test = new Zarinpal('XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',new NuSoapDriver());