2015-05-14 25 views
1

我试图通过omnipay桥将Mollie整合到sylius payumbundle中。这是我的配置是这样的:在Sylius整合Mollie payumbundle

sylius_payment: 
    gateways: 
     mollie: Mollie 
payum: 
    contexts: 
     mollie: 
      omnipay_onsite: 
       type: Mollie 
       options: 
        apiKey: test_... 

它工作正常,付款程序后,但是茉莉重定向回来,我得到以下错误:

The transactionReference parameter is required

难道有人在莫利整合sylius成功吗?

回答

1

OmnipayBridge的OffsiteCaptureAction似乎与Omnipay/Mollie网关不兼容。

following part from OffsiteCaptureAction.php不兼容:

if (false == $details['returnUrl'] && $request->getToken()) { 
    $details['returnUrl'] = $request->getToken()->getTargetUrl(); 
} 

如果你有下面的代码行替换不兼容的部分,它的工作原理:

if (false == $details['returnUrl'] && $request->getToken()) { 
    $details['returnUrl'] = $request->getToken()->getAfterUrl(); 
} 

if (false == $details['notifyUrl'] && $request->getToken()) { 
    $details['notifyUrl'] = $request->getToken()->getTargetUrl(); 
} 

的茉莉网关使用notifyUrl为网络挂接到确认付款。这是付款中最重要的部分。在后台使用webhook/notifyUrl后,客户将被重定向到returnUrl/AfterUrl。原始代码缺少notifyUrl,并将客户重定向到付款确认URL。

这些更改可能与其他网关不兼容。我只使用Mollie,所以对我来说这不是一个大问题。

我已经取得了0.14分支叉:所以如果通知URL语句添加 https://github.com/goemaere/OmnipayBridge/blob/0.14/src/Action/OffsiteCaptureAction.php#L43-L49

+0

?我能理解吗? –