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

2024-04-20

我创建了一个 payum 付款方式。我设置了一个存储付款详细信息的付款表单,然后生成付款安全令牌。到目前为止,一切似乎都正常,payum 会在存储中生成令牌。

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

我有以下问题。

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

任何帮助,将不胜感激

提前致谢 :)


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

  • 最快的是使用定制工厂。

    payum:
        contexts:
            you_name_it:
                custom:
                    actions:
                        - your.action.service.from.container
                        - your.another.action.service.from.container
    
  • 创建支付工厂。这是先进的技术,如果您需要自定义配置,它可能会很有用。为此你必须实施PaymentFactoryInterface and 将其注册到 Payum 扩展 https://github.com/Payum/PayumBundle/blob/master/PayumBundle.php#L27。您可以直接在工厂中添加操作(需要对 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 https://github.com/Payum/PayumBundle/blob/master/Resources/config/payment/paypal_express_checkout_nvp.xml#L47

    <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>
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何注册新的payum支付方式并添加操作? 的相关文章

  • php中有指针吗?

    这段代码是什么意思 这就是你在 php 中声明指针的方式吗 this gt entryId entryId PHP 中的变量名称以 开头 因此 entryId 是变量的名称 this是PHP面向对象编程中的一个特殊变量 它是对当前对象的引用
  • CURL请求问题

    我正在尝试验证 paypal pdt 信息 我生成了模型表单并提交了它 IT 部门也开始工作并返回了信息 我尝试了同样的事情来发出卷曲请求 但我的当前请求对我来说返回空白 我的模型形式
  • 使用 php 将 HTML 输出转换为纯文本

    我正在尝试将示例 HTML 输出转换为纯文本 但我不知道如何操作 我使用 file get contents 但我尝试转换的页面返回的结果最相似 raw http localhost guestbook profiles php file
  • Codeigniter 中的 HTML 格式的电子邮件

    如何在 codeigniter 中发送格式化的电子邮件 我有这段代码 可以很好地发送电子邮件 但它没有按应有的方式格式化它 您可以看到显示收到电子邮件的图片 function email sender this gt load gt hel
  • 使用 PHP Mcrypt 加密并使用 MySQL aes_decrypt 解密?

    是否可以使用 PHP 加密数据mcrypt并用MySQL在数据库中解密AES DECRYPT 目前 我正在使用RIJNDAEL 128 for mcrypt关于 PHP 我还确保数据库中的加密字段具有数据类型blob Yet AES DEC
  • Laravel Eloquent 在 with() 函数中使用别名

    再会 laravel 中使用 with 函数时是否可以使用别名 举个例子 posts Post where condition gt with user as friend gt get 简短的回答是否定的 但您可以定义与要使用的别名的关系
  • Jquery .ajax method =“post”但$_POST为空

    ajax method post url save php data id 453 action test beforeSend function complete function success function html mydiv
  • 从中间部分匹配完成建议elasticsearch

    我有一个名为搜索建议具有以下 search suggest type completion analyzer simple payloads true preserve separators false preserve position
  • SQL 查询:按 ntext 字段分组

    我有以下查询 它基本上检索销量最高的 5 本书 select top 5 count id book orddetails books sold bk from orderdetails orddetails ord inner join
  • 进行 URL 重写

    当我点击网站上给定条目的评论部分时 URL 如下所示 http www com comments index php submission Portugal 20Crushes 20North 20Korea submissionid 62
  • Symfony 3.4 没有元数据类来处理错误

    我已经安装了 symfony 3 4 和 学说包 php gt 5 5 9 doctrine doctrine bundle 1 8 doctrine doctrine migrations bundle 1 3 doctrine orm
  • MySQL 错误:无法创建表(errno:121“写入或更新时重复键”)

    我使用 MySQL Workbench 生成数据库的图表和代码 当我将代码放入 phpMyAdmin 时 它显示错误 1005 无法创建表wypozyczalnia wypozyczenie 错误号 121 写入或更新时密钥重复 哪里有问题
  • 如何在 PHP 中复制此 C# 哈希? (toByteArray()、ComputeHash())

    我正在尝试复制以下代码PHP 这是我必须与之交互的 API 的示例代码 API 和示例代码位于C 我的应用程序在PHP 5 3 我不是 C 开发人员 因此在执行此操作时遇到困难 C Code I am trying to replicate
  • PHP 警告:模块“imagick”已在第 0 行未知加载

    我有一个简单的测试文件 其中唯一的 php 代码是 if isset REQUEST back back back REQUEST back filename images back jpg file file exists filenam
  • PHP 扩展 mysqli 和 nd_mysqli 之间的区别[重复]

    这个问题在这里已经有答案了 Mysqli 准备好的语句 如下所示 在以下情况下会抛出以下错误 get result 叫做 stmt connection gt prepare select column from table where i
  • 如何在 PHP 中访问数组的数组

    我正在研究 Flight api 我正在发送请求 从位置 到位置 从日期等 并且我收到以下数组格式的响应 Array AvailRequest gt Array Trip gt ONE Origin gt BLR Destination g
  • Lucene外来字符问题

    我在使用 Zend Lucene 和 等外来字符时遇到了一些严重的问题 这些问题在创建索引和查询索引时都会出现 我已经尝试过 iso 8859 1 和 utf 8 ISO 8859 1 不起作用的查询看起来像 area sk ne 使用 Z
  • 使用Ajax使用php将记录插入mysql数据库

    如何使用 Ajax 对此代码进行编码 请帮助 我是 Bignner 我已经编写了这段代码 它可以工作 但我想与 ajax 一起使用 因为不想重新加载页面 PHP文件 Code For Making Form And getting Data
  • 在单个测试中断言多个条件,还是分成多个测试? [复制]

    这个问题在这里已经有答案了 如果您正在测试如下所示的计数函数 那么在一个函数中测试该函数的多项内容与为每个测试使用一个测试函数相比 是否被认为是 正确 或 错误 function testGetKeywordCount tester thi
  • 在 CakePHP 中访问 Configuration::read 控制器

    我的 CakePHP 应用程序有一个单独的配置文件 该文件加载在 bootstrap php 中 我的问题是 如何访问控制器中的配置变量 IE 如何在控制器中执行Configure read variable 函数 谢谢 在我的自定义配置文

随机推荐

  • 如何描述类型滚动事件?

    我在滚动上添加了侦听器 并尝试使用事件 我如何描述 type 而不是 any 反应16 8 6 脚本3 4 const Component FC
  • 将 nil 字符串指针设置为空字符串

    如何将类型中字符串指针的引用值设置为空字符串 考虑这个例子 package main import fmt type Test struct value string func main t Test nil if t value nil
  • php:通过 UTC 偏移量设置时区

    使用 javascript 我知道我的用户时区是 UTC 3 现在我想用这些知识创建 DateTime 对象 usersNow new DateTime now new DateTimeZone 3 我收到回复 Unknown or bad
  • 创建具有多个子上下文的 Spring Boot 应用程序

    我正在尝试使用 Spring Boot 和分层应用程序上下文创建一个应用程序 我当前的主要方法如下所示 public static void main String args new SpringApplicationBuilder Tes
  • “文本可视化工具”使用哪个类?

    当我使用DebuggerVisualizer属性如下 c assembly DebuggerVisualizer typeof DataSetVisualizer typeof DataSetVisualizerSource Target
  • 使用 XSL 进行转换而无需对最终输出进行 HTML 编码的属性方式是什么?

    所以 我正在使用 NET 我有一个 XSL 文件 C 中的 XslTransform 对象 它读取 XSL 文件并将一段 XML 数据 内部制造 转换为 HTML 我注意到我的最终输出是 lt and gt 自动编码成 lt and gt
  • 使用开关启用和禁用推送通知

    我正在使用 firebase 推送通知 FCM 并且我想使用切换按钮启用和禁用通知 为此 我共享了启用和禁用通知的首选项 但似乎我的逻辑根本不起作用 开关打开或关闭没有任何区别 我仍然收到通知 我需要帮助谢谢 活动 val sharedPr
  • LoadfromText 给出错误 2285(Microsoft Office Access 无法创建输出文件)

    当使用loadfromtext在access中导入表单时 我不断收到运行时错误2285 在互联网上搜索发现很多人都有同样的问题 但没有解决方案 有谁知道导致此错误的原因是什么 Edit 此外 在包含数据库的文件夹中还会创建一个名为 erro
  • 如何对服务的默认 WCF 端点进行硬编码?

    在自托管服务中 我想使用 App config 中指定的端点 如果存在 或者如果 App config 为空 则使用代码中指定的默认端点 我怎样才能做到这一点 Edit 澄清一下 这是在服务器 服务 端使用 ServiceHost 一种方法
  • jQuery 在所有浏览器中的 SlideUp() 上闪烁...附有示例页面

    我知道这个问题已经讨论过好几次了 但我有一个有点不同的问题 当调用 slideUp 并且浏览器风已经向下滚动以查看所有底部内容时 当 div 滑动关闭时它会闪烁多次 示例页面如下 只需单击它所说的位置 然后滑动到底部并关闭上面的 div 之
  • printf 内部如何工作? [复制]

    这个问题在这里已经有答案了 可能的重复 无需汇编的 C C 函数定义 https stackoverflow com questions 2442966 c c function definitions without assembly 你
  • 以下哪种脚本语言更适合笔测试? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 首先 我想避免语言上的激烈争论 可供选择的语言有 Perl Python 和 Ruby 我想说的是 我对所有这些都感到满意 但问题是我不能只专注
  • 2次API调用响应后执行代码

    您好 我正在进行两个 API 调用来进行一些检查 我想在两个调用完成后执行代码 var firstCall request get first function error response body body JSON parse bod
  • C# 外壳扩展

    在 NET 中创建 shell 扩展还有比这更简单的方法吗 http www theserverside net tt articles showarticle tss id ShellExtensions http www theserv
  • 如何从文本中提取 URL

    如何在 Ruby 中从纯文本文件中提取所有 URL 我尝试了一些库 但在某些情况下它们会失败 最好的办法是什么 如果您喜欢使用 Ruby 中已提供的功能 require uri URI extract text here http foo
  • 如何在 Swift 中永远重复动画(HUGE_VALF)?

    根据文档 永久重复 CABasicAnimation 的方法是设置其repeatCount to HUGE VALF 但在斯威夫特中 HUGE VALF导致编译错误 Swift 似乎不知道标准库 或者这个常量所在的地方 现在我该怎么做 Se
  • 作为 JavaFX 应用程序启动屏幕的图像不会自动隐藏

    我有一个简单的 png 图像文件 我希望在加载 JavaFX 应用程序时显示该文件 我使用 NetBeans 作为 IDE 并且我知道可以像这样添加启动屏幕 项目属性 gt 运行 gt VM 选项 splash path to image
  • 如果磁盘可用空间很少,如何优化 9GB 表?

    我在 12GB 磁盘上有一个 9GB myisam 表 有 5MB 可用空间 我如何optimize桌子 问题是OPTIMIZE通过将整个表复制到一个新文件来工作 因此我需要 9GB 的可用空间才能成功 我能想到的唯一解决方案是 停止在桌子
  • 使用正则表达式验证英国邮政编码

    我想用英国邮政编码验证字段 可以使用什么正则表达式来验证该字段 A Z 1 2 0 9 0 9A Z 0 1 0 9 A Z 2 GIR 0AA 确实显得有效 因为它有例外GIR 0AA 所以 请帮我写一个没有任何异常的表达式 如果你指的是
  • 如何注册新的payum支付方式并添加操作?

    我创建了一个 payum 付款方式 我设置了一个存储付款详细信息的付款表单 然后生成付款安全令牌 到目前为止 一切似乎都正常 payum 会在存储中生成令牌 但是 我似乎无法注册它 我不知道应该在哪里添加操作 以便在加载付款方式时使用它们