aryala7/zarinpal

zarinpal 交易请求系统

v1.1.4 2022-05-09 06:55 UTC

This package is auto-updated.

Last update: 2024-09-09 12:20:15 UTC


README

zarinpal 交易请求库

##Laravel 兼容 本包适用于所有类型的项目,但针对 Laravel,我添加了提供者,使其尽可能简单。只需将

'providers' => array(
    ...
    'Zarinpal\Laravel\ZarinpalServiceProvider'
    ...
)

添加到 "config/app.php" 中的 providers 列表,然后运行 'php artisan vendor:publish --provider="Zarinpal\Laravel\ZarinpalServiceProvider"' 以将配置文件添加到 Laravel 配置目录,配置它,现在你可以像这样访问 zarinpal 库

Zarinpal::request("example.com/testVerify.php",1000,'testing');
Zarinpal::verify('OK',1000,$answer['Authority']);

##使用 ###安装 composer require atbox/zarinpal

"require": {
    ...
    "atbox/zarinpal" : "1.*",
    ...
},

###请求

use Zarinpal\Drivers\Soap;
use Zarinpal\Zarinpal;

$test = new Zarinpal('XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',new soap());
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  

###验证

use Zarinpal\Drivers\Soap;
use Zarinpal\Zarinpal;

$test = new Zarinpal('XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',new soap());
$answer['Authority'] = file_get_contents('Authority');
echo json_encode($test->verify('OK',1000,$answer['Authority']));
//'Status'(index) going to be 'success', 'error' or 'canceled'

##更改驱动程序 驱动程序可以在 restAPI、soap 和 NuSoap 之间切换,使用

restAPI(推荐)

$test = new Zarinpal('XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX');

或 soap

use Zarinpal\Drivers\Soap;
$test = new Zarinpal('XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',new soap());

或 nuSoap

use Zarinpal\Drivers\NuSoap;
$test = new Zarinpal('XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',new NuSoap());

##使用 Zaringate 将用户重定向到 Zaringate 而不是 Zarinpal 网关,将 true 作为重定向方法的第一个参数传递(默认情况下,用户将通过此方法重定向到 Zarinpal 网关)

Zarinpal::redirect(true);