New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

laravelified-zarinpal/zarinpal

transaction request system for zarinpal (Laravel 5.2 ready)
50
Install
composer require laravelified-zarinpal/zarinpal
Latest Version:v2.0.4
License:GPL2
Last Updated:Jul 31, 2016
Links: GitHub  ·  Packagist
Maintainer: NimaGhaedsharafi

zarinpal-composer-library

Build Status StyleCI Coverage Status

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());

Related Packages

doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

651,963,193 9,701
laravel/framework

The Laravel Framework.

610,364,751 34,988
laravel/tinker

Powerful REPL for the Laravel framework.

518,004,183 7,444
laravel/serializable-closure

Laravel Serializable Closure provides an easy and secure way to serialize closur...

435,097,283 607
nunomaduro/collision

Cli error handling for console/command-line PHP applications.

412,228,818 4,664

Version History

Version Released License
v2.0.4 GPL2
v2.0.1 GPL2
v2.0.0 GPL2
v1.1.3 GPL2
v1.1.2 GPL2