code4mk / lara-sslcommerz
Laravel sslcommerz 支付包
v1.0.0
2021-04-29 07:20 UTC
This package is auto-updated.
Last update: 2024-09-02 15:16:40 UTC
README
SslCommerz 是孟加拉国最受欢迎的支付网关。安装
composer require code4mk/lara-sslcommerz
setup
vendor publish
php artisan vendor:publish --provider="Code4mk\Sslcommerz\SslcommerzServiceProvider" --tag=config
如果使用的是 Laravel 5.4 之前的版本,请手动在 config/app.php 文件中注册服务提供者
Code4mk\Sslcommerz\SslcommerzServiceProvider::class
环境变量
SSLCOMMERZ_STORE_ID="" SSLCOMMERZ_STORE_PASSWORD="" SSLCOMMERZ_SUCCESS_URL="http://127.0.0.1:8000/success" SSLCOMMERZ_FAIL_URL="http://127.0.0.1:3000" SSLCOMMERZ_CANCEL_URL="http://127.0.0.1:3000" SSLCOMMERZ_MODE=sandbox
- SSLCOMMERZ_MODE (测试或生产)
获取重定向 URL
use SslPayment; $data = SslPayment::tnx(2) ->customer('kamal212') ->amount(100) ->emi(4,5,1) ->getRedirectUrl(); if( $data->failedreason == "") { $link = $data->GatewayPageURL; return response()->json($link); }else{ // your code return response()->json($data->failedreason); }
方法
- emi($max_inst = '',$selected_inst = '',$allow_only = '')
- customer($name = '', $email = '', $phone = '', $add1 = '', $city = '', $post_code = '', $country = '')
验证支付(POST 方法
)- 成功 URL
http://127.0.0.1:8000/success
use SslPayment; $data = SslPayment::verify(request()); // return response()->json($data); if ($data->status == 'VALID') { // your business logic }
IPN 支付验证
为 ipn 创建一个无 CSRF 的 POST 路由
/* you can get success objects which triggers by sslcomerz. you can */ Route::post('ipn',function(){ return response()->json(request()); })
CSRF
- 为您的成功路由启用 CSRF 免验证
例如:(VerifyCsrfToken.php)
namespace App\Http\Middleware; use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware; class VerifyCsrfToken extends Middleware { /** * The URIs that should be excluded from CSRF verification. * * @var array */ protected $except = [ '/success', '/ipn' ]; }