smartman/swedbank-gateway

Swedbank Gateway 集成包用于 Laravel。有关此插件的附加操作或问题,请联系 margus.pala@gmail.com

dev-master 2020-02-28 06:29 UTC

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个字符。