Payum Bundle 的配置如何工作?
Posted
技术标签:
【中文标题】Payum Bundle 的配置如何工作?【英文标题】:How does the configuration for Payum Bundle work? 【发布时间】:2014-07-20 21:29:33 【问题描述】:我是 Payum 的新手,我正在尝试创建一个新的支付网关。但是我无法弄清楚配置值与我创建的文件(操作/工厂等)的关系。
这是我目前所拥有的;
payum:
security:
token_storage:
Path\To\PaymentSecurityToken:
doctrine:
driver: orm
contexts:
xxx:
yyyy:
api:
options:
sandbox: true
storages:
Path\To\Payment:
doctrine:
driver: orm
我没有得到应该放入 xxx 和 yyy 的内容。无论我尝试什么值,我仍然没有得到它。我不断收到以下错误。
InvalidConfigurationException: Unrecognized options "yyy" under "payum.contexts.xxx"
谁能告诉我这些值应该是什么以及我设置的值与网关有何关系以及需要在哪里使配置实际上与网关代码中的某些内容相匹配?
提前致谢:)
【问题讨论】:
【参考方案1】:yyyy - 是支付(或存储)工厂名称。在此部分下,您放置了付款特定选项。它们在addConfiguration method 中定义。这些选项后来传递给 creates a payment service 的方法
There are some factories shipped with Payum bundle。您可以使用它们或添加您自己的。为此,您必须实现 PaymentFactoryInterface 和 register it like others to Payum extension。
xxx - 它是上下文名称(你可以命名它)。它背后的想法很简单。您可以有两个贝宝付款,但配置不同。一种用于美国,一种用于欧盟(不同的贝宝帐户)。比如:
payum:
contexts:
paypal_eu:
paypal_express_checkout_nvp:
username: ~
password: ~
signature: ~
paypal_us:
paypal_express_checkout_nvp:
username: ~
password: ~
signature: ~
稍后当您想要获取支付实例时,您必须使用上下文名称:
$payment = $container->get('payum')->getPayment('paypal_eu');
附:您可以在docs 中找到一些真实的配置示例。
【讨论】:
谢谢。我会检查我的代码,看看我是否遵循你的模式。 这解决了我最初的问题。我的下一个是文档之一。我找不到使用 payum bundle 和 symfony2 创建新支付网关的从头到尾的示例。我创建了一个支付工厂。这是我注册新操作的地方吗?如果没有,我应该在哪里设置它。我仍然不明白所有部分是如何联系在一起的。 你能把它作为一个单独的问题来问吗?所以我们可以详细讨论一下。 谢谢。我在这里添加了我的完整问题。 ***.com/questions/23992381/…以上是关于Payum Bundle 的配置如何工作?的主要内容,如果未能解决你的问题,请参考以下文章
Symfony2 Payum Bundle - 不支持请求 SecuredCaptureRequestmodel: Payment
使用 Sylius 0.16 和 Payum 实施异地支付网关时如何完成订单