apoca / laravel-sibs-payments
Laravel 库,用于与 SIBS - 开放支付平台进行通信。
Requires
- php: ^7.2
- ext-json: *
- guzzlehttp/guzzle: ^6.3
Requires (Dev)
- laravel/framework: ^5.8
- mockery/mockery: ^1.2
- orchestra/testbench: ^3.8
- php-coveralls/php-coveralls: ^2.1
- phpunit/php-code-coverage: ^7.0
- phpunit/phpunit: ^8.0
This package is auto-updated.
Last update: 2024-09-16 23:20:57 UTC
README
Laravel 库,用于与 SIBS - 开放支付平台 进行通信。该库包括以下支付方式:VISA、MASTER、AMEX、VPAY、MAESTRO、VISADEBIT、VISAELECTRON。
内容
安装
使用 composer 安装此包。建议仅用于开发环境安装该包。
composer require apoca/laravel-sibs-payments
Laravel 5.5 使用包自动发现,因此无需手动添加 ServiceProvider。
Laravel 5.5+
如果未使用自动发现,请将 ServiceProvider 添加到 config/app.php 中的 providers 数组。
Apoca\Sibs\SibsServiceProvider::class,
如果想要使用外观,请将以下内容添加到 app.php 中的 facades。
'Sibs' => Apoca\Sibs\Facade\Sibs::class,
使用发布命令将包配置复制到本地配置
php artisan vendor:publish --provider="Apoca\Sibs\SibsServiceProvider"
使用
COPYandPAY 集成指南
- 准备结账
首先,使用包含所需数据的 POST 请求(包括订单类型、金额和货币)来准备结账。成功请求的响应是一个包含 id 的 JSON 字符串,该 id 在第二步创建支付表单时是必需的。
$request = [ 'brand' => 'CHECKOUT', 'amount' => 100, 'currency' => 'EUR', 'type' => 'DB', 'optionalParameters' => [], ]; $response = Sibs::checkout($request)->pay();
响应
{ "status": 200, "response": { "result":{ "code":"000.200.100", "description":"successfully created checkout" }, "buildNumber":"0dbf5028d176bc143baf9657d4d786f6372f4a83@2019-03-29 10:03:17 +0000", "timestamp":"2019-03-29 11:27:15+0000", "ndc":"E45186C4789C89A23E66D8DDA57A8586.uat01-vm-tx01", "id":"E45186C4789C89A23E66D8DDA57A8586.uat01-vm-tx01" } }
- 创建支付表单
- 第 1 步响应中获得的结账 id
<script src="https://test.oppwa.com/v1/paymentWidgets.js?checkoutId={response->id}"></script>
- shopperResultUrl,即客户支付处理完成后应重定向到的网站页面以及可用的品牌。
<form action="{shopperResultUrl}" class="paymentWidgets" data-brands="VISA MASTER AMEX"></form>
- 获取支付状态(参见第 1 步)
$response = Sibs::status($response->response->id);
{ "status": 400, "response": { "result":{ "code":"200.300.404", "description":"invalid or missing parameter", "parameterErrors": [ { "name": "entityId", "value": "8a8294185332bbe601533754724914d9", "message": "is not an allowed parameter" } ] }, "buildNumber":"", "timestamp":"2019-03-29 11:27:15+0000", "ndc":"89C42801E79302B0E75520C4A793121D.uat01-vm-tx03" } }
注意:您将收到错误代码 400,因为您需要一个由 sibs 批准的实体密钥。
服务器到服务器
以同步方式发送服务器到服务器的请求参数并接收支付响应。注意:此集成变体需要您收集卡数据,这增加了您的 PCI 合规范围。如果您想最小化 PCI 合规要求,我们建议您使用 COPYandPAY。
您可以使用我们的服务器到服务器 REST API 执行不同的初始支付类型。
- 预先授权(PA)
- 借记(DB)
$request = [ 'amount' => 102.34, 'currency' => 'EUR', 'brand' => 'VISA', 'type' => 'DB', 'number' => 4200000000000000, 'holder' => 'Jane Jones', 'expiry_month' => 05, 'expiry_year' => 2020, 'cvv' => 123, 'optionalParameters' => [], ]; $response = Sibs::checkout($request)->pay();
异步服务器到服务器 MBWay
在异步工作流程中,将发生重定向以允许账户持有人完成/验证支付。
将品牌参数设置为 "MBWAY",类型设置为 PA。accountId 应该是类似这样的电话号码:<country_dial_code#phone_number>。
$request = [ 'amount' => 10.44, 'currency' => 'EUR', 'brand' => 'MBWAY', 'type' => 'PA', 'accountId' => '351#911222111', 'optionalParameters' => [], ]; $response = Sibs::checkout($request)->pay();
如果在测试模式下,请将模式参数在 sibs 配置文件中设置为 test。
响应示例
{ "status": 200, "response": { "id":"8ac7a4a26982228701698db398cf05ee", "paymentType":"DB", "paymentBrand":"VISA", "amount":"102.34", "currency":"EUR", "descriptor":"2302.8463.4825 OPP_Channel ", "result":{ "code":"000.100.110", "description":"Request successfully processed in 'Merchant in Integrator Test Mode'" }, "card":{ "bin":"420000", "last4Digits":"0000", "holder":"Jane Jones", "expiryMonth":"05", "expiryYear":"2020" }, "risk":{ "score":"100" }, "buildNumber":"699e422a79444128a09e7d5d75eb187a99e8b3f3@2019-03-15 04:42:21 +0000", "timestamp":"2019-03-17 22:09:12+0000", "ndc":"8a8294185332bbe601533754724914d9_db6237eaf4b247ca99e4f917c5ca2943" } }
反馈
我们很乐意了解您如何使用 laravel-sibs-payments,以及我们可以添加哪些功能来改进此工具。请随时通过 vieira@miguelvieira.com.pt 联系我们
贡献
我们很乐意了解您如何使用 laravel-sibs-payments,以及我们可以添加哪些功能来改进此工具。请随时通过 vieira@miguelvieira.com.pt 联系我们
许可证
本项目采用 MIT 许可证授权 - 详细信息请参阅 LICENSE.md 文件
作者
- Miguel Vieira - 初始工作 - apoca
有关参与此项目的其他贡献者的列表