我一直在看很多帖子,但我没有找到解决我问题的方法。互联网上没有一个地方可以解释如何正确地将新的支付网关添加到 Sylius Payum Bundle。
我正在使用最新sylius
0.10.*
版本,我想添加一个新的支付网关(荷兰合作银行 Omnikassa,一个荷兰支付端点)。
有一些关于如何添加 的信息PaymentFactory
,PayumPayumBundle
但是这个包的文件夹结构与SyliusPayumBundle
. 我创建了我自己的Acme\Bundle\PayumBundle
,它从SyliusPayumBundle
.
我想以与PaypalExpressCheckoutPaymentFactory类似的方式设置它。
配置/payum.yml
在这里,我只是测试一些东西以让 Sylius 找到我的东西。
payum:
contexts:
rabobank:
storages:
Sylius\Component\Core\Model\Order:
doctrine:
driver: orm
Sylius\Component\Core\Model\Payment:
doctrine:
driver: orm
custom:
actions:
- Shopfish\Bundle\PayumBundle\Payum\Rabobank\Action\CapturePaymentAction
- Shopfish\Bundle\PayumBundle\Payum\Rabobank\Action\NotifyOrderAction
配置/服务.xml
我不确定在哪里使用什么服务标签..
<parameters>
<parameter key="shopfish.payum.rabobank.action.capture_payment.class">Shopfish\Bundle\PayumBundle\Payum\Rabobank\Action\CapturePaymentAction</parameter>
<parameter key="shopfish.payum.rabobank.action.notify_order.class">Shopfish\Bundle\PayumBundle\Payum\Rabobank\Action\NotifyOrderAction</parameter>
<parameter key="shopfish.payum.rabobank.action.payment_status.class">Shopfish\Bundle\PayumBundle\Payum\Rabobank\Action\PaymentStatusAction</parameter>
</parameters>
<services>
<!-- Rabobank Omnikassa -->
<service id="shopfish.payum.rabobank.action.capture_payment" class="%shopfish.payum.rabobank.action.capture_payment.class%" public="false">
<tag name="payum.action" factory="omnipay" />
</service>
<service id="shopfish.payum.rabobank.action.notify_order" class="%shopfish.payum.rabobank.action.notify_order.class%" public="false">
<argument type="service" id="event_dispatcher" />
<argument type="service" id="sylius.manager.payment" />
<argument type="service" id="finite.factory" />
<tag name="payum.action" factory="paypal_express_checkout_nvp" />
</service>
</services>
配置/config.yml
当然,我在 config.yml 文件中注册网关
sylius_payment:
gateways:
rabobank: Rabobank Omnikassa
例外:路径配置无效
它似乎没有被识别Rabobank
为有效类型。在哪里注册一种新类型?
InvalidConfigurationException: Invalid configuration for path "payum.contexts.rabobank.omnipay": Given type Rabobank is not supported. These types AuthorizeNet_AIM, AuthorizeNet_SIM, Buckaroo, CardSave, Dummy, Eway_Rapid, GoCardless, Manual, Migs_ThreeParty, Migs_TwoParty, Mollie, MultiSafepay, Netaxept, NetBanx, PayFast, Payflow_Pro, PaymentExpress_PxPay, PaymentExpress_PxPost, PayPal_Express, PayPal_Pro, Pin, SagePay_Direct, SagePay_Server, SecurePay_DirectPost, Stripe, TargetPay_Directebanking, TargetPay_Ideal, TargetPay_Mrcash, TwoCheckout, WorldPay are supported.
注册支付工厂
在此文件中,您可以看到他们如何在 Payum 中注册工厂。我想在我自己的 Bundle 中在 Sylius 中做同样的事情。
从这里可以采取哪些好的步骤?