smartman / swedbank-gateway
Swedbank Gateway 集成包用于 Laravel。有关此插件的附加操作或问题,请联系 margus.pala@gmail.com
Requires
- ext-json: *
- ext-simplexml: *
- guzzlehttp/guzzle: *
- illuminate/support: *
- monolog/monolog: *
- nesbot/carbon: *
This package is not auto-updated.
Last update: 2024-09-23 23:57:42 UTC
README
一般信息
这是一个 Laravel 包,它使 Swedbank Gateway 支持成为可能。允许的操作是准备 Swedbank 网上银行中的付款。
示例用例是 ERP 或其他系统,该系统创建采购订单并希望确保所有这些订单都得到支付。当采购订单确认后,该系统可以准备付款。
前提是在服务器上支持 Java,因为 PKI 签名和加密操作使用了 jdigidoc java 库。
所有通信都是异步的。请求发送到银行,当银行完成处理时,它将准备可以轮询的查询。
此模块将保存所有响应和请求 XML 到 swedbank_requests 表中。还有用于此表的模型 Smartman\Swedbank\SwedbankRequest。
## 安装运行 composer require smartman/swedbank-gateway
配置
运行 php artisan vendor:publish
,这将主配置文件 swedbank.php 以及迁移 java 加密库配置文件复制到您的配置文件夹。
swedbank.php 配置文件包含您将获取或与 Swedbank 协商的数据的引用。默认设置仅为示例,您需要更改这些设置,除了 charge_bearer。
沙箱和产品模式之间存在很大差异。请参阅您配置文件夹中的 jdigidoc.cfg 和 jdigidoc-sandbox.cfg。在 jdigidoc.cfg 中,您需要更改的主要是 DIGIDOC_LOG4J_CONFIG 到其绝对路径,如果您想记录加密操作。
使用说明
Laravel 5.5+ 注册服务提供程序 Smartman\Swedbank\SwedbankGatewayProvider 和外观 "Swedbank" => "Smartman\Swedbank\SwedbankFacade"。
测试配置
调用 Swedbank::sendPing()
,此命令将以包含元素的 XML 响应。
检查响应
调用 Swedbank::checkRequests()
,这将检查挂起的消息并触发 Smartman\Swedbank\Events\SwedbankResponseEvent
。通过参数 SwedbankRequest 和成功(true/false)监听此事件。可选的,Swedbank::checkRequests()
返回格式为 ['request'=>SwedbankRequest', 'success'=>true/false]
的数组。检查响应_xml 元素的责任是您自己的,解析这些元素并读取所需的数据。在没有请求的情况下可能获取响应,例如每日计划账户报表。在这种情况下,request_xml 为空。
准备付款
这将准备在互联网银行中签署并最终处理的付款。
调用 Swedbank::sendPreparePayment($amountInCents, $receiverIban, $receiverName, $currency, $explanation, $referenceNumber)
$explanation 或 $referenceNumber 必须存在
付款异步处理。这意味着必须定期执行 Swedbank::checkRequests()
来查看付款的进度。
获取账户报表
调用 Swedbank::getAccountStatement($startDate, $endDate)
。最大日期期限为 90 天,并且响应中最多有 10,000 条交易记录。
支持
如果您需要配置帮助或额外的定制开发,您可以发送电子邮件到 margus.pala@gmail.com 或打电话 +372 555 29 332。所有复杂的银行端业务规则预检查均未实现,如果发生错误,可能需要帮助。例如,银行有如下规则:
爱沙尼亚:非结构化或结构化汇款信息或两者都需要存在。
拉脱维亚:必须提供非结构化或结构化汇款信息,但不能两者都提供。
立陶宛:必须提供非结构化或结构化汇款信息,但不能两者都提供。
欧洲支付:必须提供非结构化或结构化汇款信息,但不能两者都提供。
国际非欧洲支付:仅接受非结构化汇款信息。
如果同时使用非结构化和结构化参考,最大接受的总长度为130个字符。