aryala7 / zarinpal
zarinpal 交易请求系统
v1.1.4
2022-05-09 06:55 UTC
Requires
- guzzlehttp/guzzle: ^6.2|^7.0
Requires (Dev)
- phpunit/phpunit: 5.3.*|^8.0|^9.0
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);