2015-05-14 28 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

?我能理解嗎? –