gpt4 book ai didi

php - 如何注册新的 payum 支付方式和添加操作?

转载 作者:可可西里 更新时间:2023-10-31 23:20:25 25 4
gpt4 key购买 nike

我已经创建了 payum 付款方式。我已经设置了一个存储付款详细信息的付款表单,然后我生成了付款安全 token 。到目前为止,这一切似乎都没有问题,payum 在存储中生成了 token 。

但是,我似乎无法注册它。我不知道应该在哪里添加操作,以便在加载付款方式时使用它们。

我有以下问题。

  • 我在哪里添加对我的 PaymentFactory 的引用? 目前我在 bundle build 方法中加载 payum 扩展并将 PaymentFactory 的实例添加到扩展。这是我需要做的全部吗?
  • 我创建了一个捕获和状态操作。 我在哪里可以将这些操作添加到支付网关?我是否在 PaymentFactory 中注册它们?我在两个类中都添加了转储和退出,当我在浏览器中运行支付时,它似乎永远不会在我设置的点触发操作和退出。

任何帮助将不胜感激

提前致谢:)

最佳答案

有几种方法可以向付款添加操作:

  • 最快的方法是使用自定义工厂。

    payum:
    contexts:
    you_name_it:
    custom:
    actions:
    - your.action.service.from.container
    - your.another.action.service.from.container
  • 创建支付工厂。这是一项高级技术,如果您需要自定义配置,可能会很有用。为此,您必须实现 PaymentFactoryInterfaceregister it to Payum extension .您可以直接在工厂中添加 Action (需要对 symfony 容器有很好的理解):

    <?php

    function create(ContainerBuilder $container, $contextName, array $config)
    {
    $paymentDefinition = new Definition;
    $paymentId = 'paymentId';

    $container->setDefinition($paymentId, $paymentDefinition);

    $paymentDefinition->addMethodCall('addAction', array(
    new Reference('your.action.service.from.container')
    ));
    }

    或者您可以加载带有操作的 xml 文件。操作服务必须有一个标签 payum.action。标记必须定义一个 factory。它必须与您创建的工厂名称相匹配。示例:paypal_express_checkout_nvp.xml

    <service
    id="your.action.service.from.container"
    class="%your.action.service.from.container.class%"
    public="false"
    >
    <tag name="payum.action" factory="your_factory_name" />
    </service>

关于php - 如何注册新的 payum 支付方式和添加操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23992381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com