rez0sk / laravel-zarinpal
该包已废弃,不再维护。没有建议的替代包。
Laravel支付网关Zarinpal的包。
dev-master
2019-04-12 20:29 UTC
Requires
- php: >=7.2
- ext-json: *
- guzzlehttp/guzzle: ^6.3
- illuminate/support: ~5.6.0|~5.7.0|~5.8.0|~5.9.0
Requires (Dev)
- mockery/mockery: ^1.0@dev
- orchestra/testbench: ^3.5
- phpro/grumphp: dev-master
- phpunit/phpunit: ^8.1@dev
Conflicts
This package is auto-updated.
Last update: 2022-07-13 03:59:27 UTC
README
Laravel支付网关Zarinpal的包。
此包提供了一个接口(laravel facade),您可以使用它并轻松地进行模拟!
功能
- 可模拟性
- 动态商户ID
- 支持Zarinpal的沙箱
安装
composer require rez0sk/laravel-zarinpal
配置
在你的config/services.php
文件中添加以下配置
'zarinpal' => [ 'merchant_id' => env('ZARINPAL_MERCHANT_ID'), 'description' => 'Default description' // optional ]
然后将ZARINPAL_MERCHANT_ID
添加到你的.env
文件中。
沙箱模式(可选)
建议在local
环境中启用沙箱模式。
如果你想这样做,请将这些行添加到你的AppServiceProvider
类的boot
函数中。
public function boot() { if ($this->app->isLocal()) { Zarinpal::enableSandbox(); } }
使用
只需发出支付请求,并一次性将用户重定向到Zarinpal!
use Zarinpal\Facades\Zarinpal; ... public function someControllerFunction () { return Zarinpal::pay(2000, route('paymnet.verify', $order->id))->redirect(); }
或者获取授权码并手动重定向
Zarinpal::pay(2000, 'http://callback.url/id')->payment->authority
您可以为支付提供一些其他信息
Zarinpal::pay(2000, 'http://callback.url/id', [ 'description' => 'This is such a dummy order!', 'email' => 'User's email address', 'phone' => 'User's phone number' ]);
动态商户ID
您可以在每次支付之前动态设置商户ID
Zarinpal::setMerchantID('xxxxx-xxxx-xxx'); Zarinpal::pay(...)
支付验证
public function verifyOrderPayment (Order $order, Request $request) { $result = Zarinpal::verify($request, $order->TotalPrice); $result->status //Status code. 100 means success :) $result->RefID //Payment's unique ReferenceID $result->amount // Payment's amount in Tuman. (Always use Toman with Zarinpal) $result->description //Payment's description. }
待办事项
- CI设置。
- 添加示例。
- 改进测试。
- 支持工资。