我觉得我已经阅读了很多想要帮助添加网关的人,但我似乎没有找到任何解决方案,一旦提问者找到了答案就分享了.我知道有人建议查看Payum Bundle文档,但由于我无法弄清楚Sylius究竟是如何与Payum Bundle集成的,所以我无法从payum文档中获得太多帮助.有人能够帮助解释让PayPal Pro在sylius应用程序中运行所需的内容吗?
我已将此添加到配置文件中:
payum: contexts: paypal_pro: omnipay: type: PayPal_Pro options: username: %paypal.username% password: %paypal.password% signature: %paypal.signature% testMode: %paypal.test_mode% storages: Sylius\Component\Core\Model\Order: doctrine: driver: orm Sylius\Component\Core\Model\Payment: doctrine: driver: orm
这在我的services.yml文件中:
sylius.payum.paypal.action.capture_payment_using_credit_card: class: %sylius.payum.paypal.action.capture_payment_using_credit_card.class% tags: - { name: payum.action, factory: omnipay }
对于CapturePaymentUsingCreditCardAction类,我只是复制了Sylius的Stripe一个.我认为这就足够了,因为Stripe据说也可以开箱即用.当我输入假信用卡信息(我们处于沙箱模式)时,我只是在重定向到付款方式选择页面后收到"未知付款错误"的Flash消息.根据我从阅读此线程的理解,状态由状态机自动管理.我简单地添加了一个PaymentStatusAction(从Dummy类复制并var_dumping详细信息),但这没有任何帮助.
另外,有人能够解释是否需要ExecuteSameRequestWithDetailsAction?它看起来几乎与CapturePaymentUsingCreditCardAction相同.