restoore / laravel-systempay
轻松创建systempay支付表单。
Requires
- php: >=5.4
- laravel/framework: ~5.0
This package is not auto-updated.
Last update: 2024-09-14 19:14:40 UTC
README
它的用途是什么?
该库提供了一种简单快速创建systempay表单的方法。它帮助实例化所有必需的参数并创建表单以访问支付界面。要了解必需的参数,请访问https://systempay.cyberpluspaiement.com/html/documentation.html
安装
首先,您需要将组件添加到您的composer.json文件中
composer require restoore/laravel-systempay
使用composer update更新您的包或使用composer install安装。执行php artisan vendor:publish --provider="Restoore\Systempay\SystempayServiceProvider"命令以将systempay.php配置文件复制到您的环境中
更新composer后,将ServiceProvider添加到config/app.php文件中的providers数组
对于Laravel >= 5.1
'providers' => [ ... Restoore\Systempay\SystempayServiceProvider::class, ]
对于Laravel 5.0
'providers' => [ ... Restoore\Systempay\SystempayServiceProvider, ]
对于Laravel >= 5.5
这是自动完成的,感谢xmoroccan为此更新
配置
默认情况下,该包附带一个示例配置文件:config/systempay.php
return [ 'YOUR_SITE_ID' => [ 'key' => 'YOUR_KEY', 'env' => 'PRODUCTION', 'params' => [ //Put here your generals payment call parameters 'vads_page_action' => 'PAYMENT', 'vads_action_mode' => 'INTERACTIVE', 'vads_payment_config' => 'SINGLE', 'vads_page_action' => 'PAYMENT', 'vads_version' => 'V2', 'vads_currency' => '978' ] ], //Systempay's url 'url' => 'https://paiement.systempay.fr/vads-payment/', ];
在此文件中,您需要填写您的site_id和key。这两个参数由Systempay提供。如您所见,您可以为多个商店创建配置数组。在此数组中,您还可以放置您的交易的一般参数。
测试环境
如果您在测试环境中运行应用程序,您可以使用.env文件覆盖key和env参数
使用以下常量名称:SYSTEMPAY_<SITE_ID>KEY和SYSTEMPAY<SITE_ID>_ENV
创建支付表单
现在我们终于可以使用该包了!以下是一个简短的代码示例,说明其工作原理
//create a Systempay object class with your site id in parameter. Note that it will automatically get your configuration in config/systempay.php $systempay = App::make('systempay', ['site_id' => '11111']); //add some parameters $systempay->set_amount(1500) ->set_trans_id(1112441) ->set_order_info2('New customer !'); //create the signature $systempay->set_signature(); //create html systempay call form $payment_form = $systempay->get_form('<button class="btn btn-lg btn-primary btn-payment" type="submit">Valider et payer</button>');
您需要了解此代码的哪些内容
- 您可以使用访问器获取和设置所有Systempay参数
- 所有setter都是可链式函数
- 签名将自动计算并放入参数数组。在提供所有参数之前不要使用此函数。
- get_form函数接受您想要显示的表单按钮作为参数。不要忘记使用{!! !!}将变量包围在您的视图中。
其他有用函数
add_product
将产品添加到订单中
参数
array $product,必须具有以下键:'label,amount,type,ref,qty
示例
$systempay = App::make('systempay', ['site_id' => '11111']); $systempay->add_product( [ 'label' => 'Concert Coldplay 2016', 'amount' => 235.00, 'type' => 'ENTERTAINMENT', 'ref' => 'COLD016', 'qty' => 3 ] );
注意:每个产品的价格金额不得乘以100
set_amount
定义订单的总金额。如果您没有在参数中提供金额,它将自动通过您篮子中的产品总和来计算。
参数
[可选] int $amount,systempay格式。例如:对于一个价格为150€的产品,提供15000
示例
$systempay = App::make('systempay', ['site_id' => '11111']); $systempay->add_product( [ 'label' => 'Concert Coldplay 2016', 'amount' => 235.00, 'type' => 'ENTERTAINMENT', 'ref' => 'COLD016', 'qty' => 3 ] ); $systempay->set_amount(); echo $systempay->get_amount(); //will display 705.00 (3*235.00)
get_amount
获取订单的总金额
参数
[可选] bool $decimal如果为true,您将得到小数,否则您将得到标准systempay金额格式(int)。默认值为true。
示例
$systempay = App::make('systempay', ['site_id' => '11111']); $systempay->add_product( [ 'label' => 'Concert Coldplay 2016', 'amount' => 235.00, 'type' => 'ENTERTAINMENT', 'ref' => 'COLD016', 'qty' => 3 ] ); $systempay->set_amount(); echo $systempay->get_amount(); //will display 705.00 (3*235.00) echo $systempay->get_amount(false); //will display 70500 (3*235.00)
set_params
进行大量参数赋值的方法
参数
array $params Systempay参数的关联数组
示例
$systempay = App::make('systempay', ['site_id' => '11111']); $systempay->set_params( [ 'vads_page_action' => 'PAYMENT', 'vads_action_mode' => 'INTERACTIVE', 'vads_payment_config' => 'SINGLE', 'vads_page_action' => 'PAYMENT', 'vads_version' => 'V2', 'vads_trans_date' => gmdate('YmdHis'), 'vads_currency' => '978' ] );