daanrijpkema / bluem-magento
Requires
- php: ~5.5.0|~5.6.0|~7.0.0|~7.2|~7.1|~7.3|~7.4|~8.0
- bluem-development/bluem-php: ^2.3
README
Bluem-Magento 支付、指令 & iDIN 插件
Bluem 是一家总部位于阿默斯福特和索菲亚的独立荷兰支付和身份验证专家,它开发了自己的 viamijnbank 云平台,用于处理在线支付、指令、身份验证服务、数字签名和 IBAN 名称检查。公司通过我们的软件发送大量支付请求,账单支付更快,直接借记指令以数字化形式发布。
此 Magento2 模块是一个连接您的网站到 Bluem 的 eMandate、ePayment 和 iDIN 身份验证服务的集成。
具体来说,该模块提供以下功能
- 一个自定义的即插即用页面,允许登录用户执行 iDIN 身份验证请求并将其存储在用户配置文件元数据中,以便在第三方模块或您的网店内的功能中进一步使用。
- 一个功能丰富的设置页面,允许启用/禁用和配置特定服务
- 一个支付网关,允许在 Magento2 结账过程中接受 eMandate 交易
- 一个支付网关,允许在 Magento2 结账过程中接受 ePayment 交易
- 一个视图允许登录用户执行 eMandate 交易请求,并将响应记录在用户配置文件元数据中。
- 还有更多即将推出!
支持
如果您对该模块的安装或配置有任何疑问,或需要功能请求,请通过 pluginsupport@bluem.nl 联系我们。
如果您对您的账户或凭据有任何疑问,请咨询您的 Bluem 账户经理。
要求
- Magento2.*(已在 v2.4.6 上测试)
许可证
GNU GPLv3。
安装
1:安装模块文件
推荐方式:从您的 Magento 根目录通过 Composer 安装
_ 注意:_ 此方法仍在进行一些配置更改,所以如果目前不起作用,请按照以下部分中提到的步骤手动安装模块。
composer require bluem-development/bluem-magento
您需要从 Magento 模块存储库中获取授权密钥。您可以在您的 Magento 账户中找到这些密钥。 请参阅此帮助文章以找到您的认证凭据。 在此处,您可以找到有关如何通过 composer 安装和更新模块的指南。
_ 注意:_ 这是 Bluem Magento2 模块的开发者存储库。使用此存储库中的代码以获取见解,并可能为此模块的开发做出贡献。该文档的一部分将作为最终用户文档在未来提供。只有熟悉 Magento 的用户才能从纯源代码正确安装模块。
手动(高级)安装
- 要么从根目录下载提供的最新版本的 ZIP 文件,要么克隆/分支源代码。
- 将模块代码安装到
YOUR_MAGENTO_DIR/code/Bluem/Integration
,并从该文件夹运行composer update
。确保您知道如何配置和使用此方法。
Magento Marketplace:即将推出。
2:启用模块
检查是否可以看到该模块在此命令的响应中
php bin/magento module:status
如下启用模块
php bin/magento module:enable Bluem_Integration
3:更新您的 Magento2 安装
此命令对于确保正确实例化表至关重要
php bin/magento setup:upgrade
请彻底测试您的模块及其功能,因为这个模块仍在非常活跃的开发中,并将继续推出重大版本。
注意:以生产模式运行此操作或如果发现您的网店布局已损坏
php bin/magento setup:static-content:deploy
更新到较新版本
我们将定期对此模块进行重大改进。合并这些全新的更新很容易
运行
composer require bluem-development/bluem-magento
然后重复上述安装中的步骤2和3。
Bluem 设置配置
转到 商店
> 配置
,打开 Bluem 标签页。填写那里的所有设置 - 页面上有适当的说明,以及通过您的账户经理提供。
每个服务的详细说明如下
支付
此模块提供了一个在您的网店结账流程中无缝运行的支付网关。
启用和配置支付
要启用支付网关,请转到“商店”>“配置”,选择“销售”>“支付方法”。您应该在那里看到一个 Bluem ePayment 网关,您可以选择启用它。注意:您可能需要禁用系统设置,即右侧的小复选框,以允许更改特定设置。
重要:通过转到 Bluem > 配置账户和身份,并向下滚动以验证完整的配置来设置您的账户设置。您必须填写您的账户详情,例如您的发送者ID、支付品牌ID以及测试和/或生产环境设置的访问令牌。强烈建议首先在一个隔离的网站测试实例中测试所有功能,并使用此模块的测试环境设置。
如果最终用户在 viamijnbank.net 站点内遇到错误,这可能是由于银行内的账户配置不正确或尚未激活或账户凭证问题。请检查您的详细信息是否填写正确。如果您不确定,请参阅您的 Bluem 账户经理。
使用支付
在您的网店设置中启用后,最终用户在结账时可以选择 Bluem 支付方式。
结账完成后,将基于您的 Bluem 设置和账户凭证创建一个支付请求。此流程将最终用户带到 Bluem 支付页面,然后将其引导到他们的银行,并最终带回到您的网店并返回响应。在交易完成后或经过其他处理(失败、过期等)后,webhook(如下所述)将把额外的状态信息从 Bluem 转移到您的网站。
管理和查看支付
在管理员端,转到 Bluem > 支付将显示迄今为止的所有支付请求的概述、其状态和相应的订单。当用户付款时,订单状态也将自动更新。您可以在此概述的负载部分查看每笔交易的详细信息。
也请参阅生产viamijnbank.net或测试viamijnbank.net门户。Bluem 客户可以看到每个交易的更深入细节,以便进行故障排除或调查您的最终用户的支付习惯。
支付对已登录用户和访客用户都有效。支付与身份无关。可以配置身份,使其在结账程序可以完成之前是必需的。只有满足此要求后,才能选择结账程序和随后的支付方式。
身份
身份服务如何工作
此模块允许在结账期间进行身份验证和账户验证。
身份请求页面包括迄今为止提出的请求概述,您可以在网站管理侧激活模块后,从Bluem菜单中选择。概述页面上还有关于如何开始请求流程的解释。
在设置页面,您现在可以找到与账户、身份和付款相关的多个设置。主要阐述的是账户设置和身份设置。有关场景,请参阅WordPress和WooCommerce插件中的说明。所有这些场景都在下面进行了说明和解释。
您可以在设置中指定IDIN请求中需要哪些部分。CustomerID(由银行设定的标识符)总是需要请求。所有这些设置都已投入使用,因此都包含在本版本中。
- 注意:请确保身份服务的设置(见配置部分)正确。一个重要的设置是您想要发起的请求类型:年龄验证请求或客户数据请求。
选择并启用自动身份验证场景
通过在Bluem配置页面选择一个想要的场景,在结账过程中强制进行身份验证。选项包括
- 不执行自动身份验证
- 根据设置的最低年龄要求进行年龄验证(默认18岁及以上)。
- 完成常规身份验证
- 完成常规身份验证并要求最低年龄(默认18岁及以上)
或者:执行临时的身份请求
- 注意:请将以下步骤中的
myawesome.shop
替换为您商店的域名。
- 将用户引导到您的网店中的以下页面
https://myawesome.shop/bluem/identity/index
- 如果未验证,用户可以开始验证过程
- 如果用户已经验证,他们将在那里看到他们的验证状态。
- 如果未登录,用户将看到一个提示,说明他们只能在登录后识别。
- 当发起时,用户将被重定向到一个新的请求交易,引导他们到Bluem身份验证门户。
此外,您还可以直接将他们引导到该页面以发起请求(如果适用)
https://myawesome.shop/bluem/identity/request
- 之后,用户将被重定向回网站,并显示身份验证状态。
- 用户可以点击按钮返回原始页面(步骤1)。
确保某些产品设置为需要身份/年龄验证
将需要年龄检查的产品的新产品属性设置为1
。此产品属性的关键字在设置中设置。如果未更改,默认关键字是agecheck_required
。此属性将在安装或更新期间自动添加。
关于身份验证的重要说明
如何包含识别按钮的说明将随后提供 最简单的方法是包含指向上述设置步骤2的页面的链接。当未验证的用户被重定向到那里时,他们可以立即按照流程操作。如果他们已经验证,他们将被告知,并可以返回到前一页面。
如何更改身份验证后的重定向的说明将随后提供。 请参阅配置部分以启用此功能。
电子授权
此模块提供了一种无缝集成到您网店结账流程中的授权网关。
启用和配置电子授权
要启用授权网关,请转到“商店”>“配置”,选择“销售”>“支付方式”。您应该在那里看到一个Bluem电子授权网关,您可以通过它来启用。 注意:您可能需要禁用系统设置,即右侧的小复选框,以允许更改特定设置。
重要:通过访问Bluem > 配置账户与身份并向下滚动来设置您的账户设置,并验证完整的配置。您必须填写您的账户详情,例如您的发送者ID、指令品牌ID以及测试和/或生产环境设置的访问令牌。强烈建议首先在一个独立的测试实例中测试您网站的所有功能,并使用此模块的测试环境设置。
开发环境
要设置开发环境,我们将使用Docker(docker.io)在容器中运行项目,以在本地模拟运行Magento 2实例。如果您不熟悉Docker,请阅读他们的文档。要从我们的文件夹安装并运行实例,请运行以下命令
docker-compose up
'bluem-magento2-dev'是Docker容器的名称,将在下一节中使用。通常,这是目录的名称。
Shell访问
要访问Shell,请使用以下命令
docker exec -it "bluem-magento2-dev" /bin/bash
Magento安装目录
Magento安装在以下目录(根目录)
/bitnami/magento
运行Magento命令
要运行Magento命令,请使用以下命令
docker exec -it "bluem-magento2-dev" /bin/bash php bin/magento list
清除缓存,重新编译
为了在修改模块代码后轻松清除所有缓存并重新编译,我们创建了一个shell脚本。建议在'docker'文件夹中运行以下代码后执行
sh reload-application.sh -p bluem-magento2-dev
'bluem-magento2-dev'是Docker容器的名称。
Magento编码标准
Magento使用其编码标准来检查和验证所有代码。错误需要解决,然后再提交到Marketplace。
Magento指南:https://developer.adobe.com/commerce/marketplace/guides/sellers/code-sniffer/
要使用composer安装所有必需的包,请运行我们的脚本
sh scripts/code_sniffer.sh
这将安装所有必需的包并将它们设置在PHP CodeSniffer的配置中。
运行以下命令以开始扫描。
phpcs --standard=Magento2 --extensions=php --report=full --colors /dir/to/bluem-magento
开发者注意事项
- 目前,付款参考和客户端参考根据客户端信息自动生成。如果证明有必要,将在以后添加。
- 所有交易请求,包括身份验证请求,都记录在当模块首次激活时创建的数据库表中。
- 有关Magento 2版本的说明:此模块针对Magento2,目前不支持Magento v1.*。
- 关于数据和隐私:目前使用IP地址来追踪访客用户。任何新的交易都会存储IP地址。请注意在您的网站上使用此模块时,并在隐私政策中确认这一点。
Webhooks(开发中)
Webhooks对于异步和定期检索关于订单处理的交易信息至关重要,独立于您的最终用户的显式交易和请求页面访问。
Webhooks将很快开发,并将出现在这里
- https://myawesome.shop/bluem/payment/webhook(状态:开发中)
- https://myawesome.shop/bluem/identity/webhook(状态:开发中)
- https://myawesome.shop/bluem/mandate/webhook(状态:开发中)
它们将在设置中设置的环境(无论是test
还是prod
)中运行。请参阅配置部分。
完成后,您可以与您的Bluem账户经理沟通此事和上述URL,以便为您的账户启用webhook功能。
变更日志
另请参阅https://github.com/bluem-development/bluem-magento/releases
- 0.7.4 添加了身份验证和IDEAL支付的银行选择以及一些改进
- 0.7.3 添加了eMandate支付方法。IDEAL支付的银行选择
- 0.7.2 一些错误修复和代码改进
- 0.7.1 一些错误修复和代码改进
- 0.7.0 支持Magento v2.4.5和PHP8+。增加了额外的支付方式
- 0.6.0 改进,身份验证服务作为结账步骤,账户验证
- 0.5.12 修复composer依赖问题
- 0.5.11 修复composer依赖问题
- 0.5.10 依赖库的重大更新;改进通过结账过滤器的产品阻止
- 0.5.9 更新composer依赖项,修复小错误
- 0.5.8 为iDIN启用域名白名单
- 0.5.5 改进身份验证服务,包括在注册或登录时的鲁棒访客身份验证和流程
- 0.5.4 代码标准化,小稳定性修复
- 0.5.3 小改动
- 0.5.2 更新Bluem依赖项到最新版本
- 0.5.1 清理了一些代码调用,提高代码稳定性,增加了通用的产品过滤器
- 0.4.7 更新文档
- 0.4.6 工作中的支付方式 - 准备第一次部署和使用案例测试
- 0.3.4 初次发布(身份功能)到第一位参与者测试。
- 0.2.0 IDIN功能,设置页面功能。正在处理数据存储和模型创建