5

我觉得我已经阅读了很多想要帮助添加网关的人的帖子,但是一旦提问者找到答案,我似乎还没有找到任何共享的解决方案。我知道也有人建议查看 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 也可以开箱即用。当我输入假信用卡信息时(我们处于沙盒模式),在我被重定向到付款方式选择页面后,我只会收到“未知付款错误”的闪烁消息。根据我阅读此线程的理解,状态由状态机自动管理。我已经简单地添加了一个 PaymentStatusAction(从 Dummy 类复制并 var_dumping 详细信息),但这没有任何帮助。

另外,有人能解释一下 ExecuteSameRequestWithDetailsAction 的必要性吗?它看起来与 CapturePaymentUsingCreditCardAction 之类的几乎相同。

4

0 回答 0