pledg/sylius-payment-plugin

使用 Pledg 的支付网关插件

安装次数: 11,116

依赖关系: 0

建议者: 0

安全性: 0

星标: 2

关注者: 13

分支: 1

公开问题: 0

类型:sylius-plugin


README

安装

  1. 安装包(请注意我们插件支持的 Sylius 版本)
    composer require pledg/sylius-payment-plugin
  1. 在您的路由文件之一中导入路由或创建一个新的路由(例如 config/routes/pledg_sylius_payment.yaml
    pledg_sylius_payment:
        resource: "@PledgSyliusPaymentPlugin/Resources/config/routing.yml"
        prefix: /pledg
  1. 清除缓存以查看翻译
    bin/console c:c

沙盒和产品环境

默认情况下,插件使用沙盒模式。您可以通过指定配置文件中的模式来配置它。例如,如果您只想禁用生产环境中的沙盒模式,只需创建一个 config/packages/prod/pledg_sylius_payment_plugin.yaml 文件即可。

    pledg_sylius_payment:
        sandbox: false

创建您的支付方式

现在您可以使用该插件并创建第一个 Pledg 支付方式

  1. 选择 Pledg 类型

  1. 填写所有必填字段(特别是您的商户 ID、密钥和限制国家)。不要忘记在您的渠道上激活该方法。

Pledg 允许使用没有签名的支付方式,但插件不允许。因此,即使在沙盒模式下,密钥也是必需的,交易将被签名。

添加资产

mkdir -p templates/bundles/SyliusAdminBundle/
mkdir -p templates/bundles/SyliusShopBundle/
cp -R vendor/pledg/sylius-payment-plugin/tests/Application/templates/bundles/SyliusAdminBundle/* templates/bundles/SyliusAdminBundle/
cp -R vendor/pledg/sylius-payment-plugin/tests/Application/templates/bundles/SyliusShopBundle/* templates/bundles/SyliusShopBundle/

添加状态机配置

_sylius.yaml 或您的 pledg_sylius_payment_plugin.yaml 文件中导入配置

imports:
  - { resource: "@PledgSyliusPaymentPlugin/Resources/config/state_machine.yaml" }

插件如何工作?

我们使用 Payum 和 Sylius 支付工作流来重定向到 Pledg 支付页面。Pledg 使用已经填写好的所有参数,以避免您再次填写。如果所有必填参数都已填写,您只需填写您的银行信息即可。否则,您可能需要填写您的地址和电话号码。

此 URL 中的所有参数都在签名参数中,对应于使用 HS256 算法编码的 JSON Web Token。

插件重新使用 Payum 来检索支付过程的结果。

我们还有两种类型的 Pledg 通知(标准模式和转账模式)的 webhook 路由。这两种类型也都是签名的:第一种使用自定义签名,第二种使用 JWT。

所有详细信息(参数、重定向 URL、Pledg 结果、Pledg 错误、Pledg 通知)都存储在支付实体中。

如何贡献?

您只需

  1. 检索包
  2. 运行 make install 以安装数据库
  3. 运行 make up-d 以在具有测试应用的 Docker 化环境中安装插件
  4. 如果您想检查一切是否正常,请运行 make ci
  5. 提交 PR 并检查 CI 是否为绿色。不要忘记在 CHANGELOG.md 和 Pledg\SyliusPaymentPlugin\RedirectUrl\ParamBuilder.php 文件中升级版本号。

该插件(目前)不使用 behat。为了补偿这一点,我们以经典方式使用 PHPUnit 编写了单元测试。