bluem-development / bluem-magento
Bluem与支付网关和身份验证集成
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、ePayments和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 设置和账户凭据创建一个支付请求。此流程将最终用户带到 Bluem 支付页面,然后页面将用户引导到他们的银行,并最终带回应答。Webhook(以下将描述)在交易完成后或经过其他处理(失败、过期等)后,从 Bluem 将额外的状态信息传输到您的网站。
管理和查看支付
在管理员端,转到 Bluem > 支付将显示迄今为止所有支付请求的概述、其状态和相应的订单。当用户支付时,订单状态也将自动更新。在概述的负载部分,您可以查看每笔交易的详细信息。
也请参阅 生产 viamijnbank.net 或 测试 viamijnbank.net 门户。Bluem 客户可以查看每个交易的更深入细节,以便进行故障排除或调查最终用户的支付习惯。
支付对登录用户和访客用户都一样工作。支付与身份无关。可以配置身份,使其在完成结账程序之前是必需的。只有在满足此要求之后,才能选择结账程序和随后的支付方式。
身份
身份服务如何工作
此模块在结账期间启用身份验证和账户验证。
身份请求页面包括迄今为止请求的概述,在激活模块后,可以从您网站管理员端的 Bluem 菜单中选择。概述页面上还有如何开始请求程序的说明。
在设置页面上,您现在可以找到围绕账户、身份和支付项目的几个设置。主要阐述的是现在的账户设置和身份设置。有关WordPress和WooCommerce插件的相应场景,请参阅[此处](https://wordpresstheme.cn/plugins/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
。此属性将在安装或更新时自动添加。
关于身份验证的重要说明
有关如何包含Identify按钮的说明将很快发布最简单的方法是将链接添加到上述设置步骤的第2步页面。当未验证的用户被重定向到那里时,他们可以立即遵循该程序。如果他们已经验证,他们将被告知,并可以返回到上一页。
有关如何更改身份验证后的重定向的说明将很快发布请参阅配置部分以启用此功能。
eMandates
此模块提供了一种在您的网店结账流程中无缝运行的授权网关。
启用和配置授权
要启用授权网关,请转到“商店”>“配置”,选择“销售”>“支付方式”。您应该在那里看到Bluem eMandate网关,您可以启用它。注意:您可能需要禁用系统设置,右侧的小复选框,以允许更改特定设置。
重要:请通过访问Bluem > 配置账户 & 身份并向下滚动来设置您的账户设置,以验证完整的配置。您必须填写账户详细信息,例如您的发送者ID、Mandate品牌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 添加了身份和某些改进的银行选择
- 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功能,设置页面功能。正在创建数据存储和模型