sebastienheyd / laravel-systempay
Laravel的Systempay(Banque Populaire)表单生成器
1.2.1
2020-09-29 06:47 UTC
Requires
- php: >=7.2.0
- laravel/framework: >=5.7
Requires (Dev)
- orchestra/testbench: >=3.8
- phpunit/phpunit: ^8.0
- squizlabs/php_codesniffer: ^3.0
This package is auto-updated.
Last update: 2024-08-29 05:06:35 UTC
README
特性
- 为Systempay(Banque Populaire)提供快速简便的表单生成
- 支持同一项目内多个商店的多站点ID
- 支持sha1和hmac-sha-256
- Blade扩展以提供更多灵活性
安装
- 安装包
composer require sebastienheyd/laravel-systempay
- 发布配置文件
php artisan vendor:publish --provider="Sebastienheyd\Systempay\SystempayServiceProvider"
配置
发布后,编辑默认配置文件:config/systempay.php
return [ 'default' => [ 'site_id' => 'YOUR_SITE_ID', 'key' => env('SYSTEMPAY_SITE_KEY', 'YOUR_KEY'), 'env' => env('SYSTEMPAY_ENV', 'PRODUCTION'), ] ];
您需要使用自己的值设置YOUR_SITE_ID
和YOUR_KEY
。这两个值由Systempay提供。
哈希算法
默认情况下,该包将使用hmac-sha-256生成签名。要使用sha1,您需要在配置中将algo
设置为sha1
return [ 'default' => [ // ... 'algo' => 'sha1' ] ];
特定参数
这些参数默认设置
另请参阅Systempay文档
注意:您不需要为参数添加vads_
前缀,前缀将被自动添加。但您也可以使用vads_
前缀设置参数,它将被自动删除。
还可以通过设置params
值来为配置设置一些特定参数。
示例
return [ 'default' => [ // ... 'params' => [ 'currency' => '826' ] ] ];
在这种情况下,默认配置将使用货币代码826。
附加配置
您可以通过向配置文件添加新键来添加所需数量的配置。
例如
return [ 'default' => [ // ... ], 'store_uk' => [ 'site_id' => '123456', 'key' => env('SYSTEMPAY_UK_SITE_KEY', '12345678'), 'env' => env('SYSTEMPAY_UK_ENV', 'PRODUCTION'), 'algo' => 'sha256' ] ];
要使用另一个配置,请调用config
方法,例如
$systemPay = Systempay::config('store_uk')->set([ 'amount' => 12.34, 'trans_id' => 123456 ]);
使用方法
在您的控制器中
<?php namespace App\Http\Controllers; use Systempay; // Facade class PaymentController extends Controller { public function payment() { $systemPay = Systempay::set([ 'amount' => 12.34, 'trans_id' => 123456 ]); return view('payment', compact('systemPay')); } }
在您的视图中
{!! $systemPay->render('<button type="submit" class="btn">Payment</button') !!}
或使用Blade扩展
@systempay <button class="btn btn-lg btn-success">Payment</button> @endsystempay
注意:使用Blade扩展时,如果传递给视图的变量名称不是$systemPay
,您需要将其设置为以下格式
@systempay('paymentData')
在此示例中,它将使用$paymentData
而不是$systemPay