2016-04-27 72 views
-1

我創造了我們的支付網關支付模塊...支付模塊返回URI

到目前爲止,我有1)設立後端和2)使用的hookPayment()方法來顯示隱藏的表單在結帳過程的第5部分(http://prestashop.dev/order)。這將隨後重定向到我的網關並提供所有必需的信息。做得好。

下一部分是我正在努力的部分。我不明白支付確認的返回URI是什麼 - 只是爲了給客戶一些關於訂單狀態的信息(也可能更新後臺?)。

現在,我只是一個非常簡單的方法;

public function hookPaymentReturn() 
{ 
    // if (!$this->active) { 
    //  return null; 
    // } 

    return $this->display(__FILE__, 'views/templates/front/confirmation.tpl'); 
} 

在我的主要模塊文件。我只想在瀏覽器上看到這個......我會在這之後開始擔心POST'ed值。但現在我只是不知道URI。會是什麼??我需要以某種方式註冊路線嗎?

回答

0

大多數付款模塊confirmation.tpl都會吸引您的主題的order-confirmation.tpl,而該主題則由OrderConfirmationController.php調用。

[YOUR_BASE_URL]/index.php?controller=order-confirmation&[some_stuff]

這可以通過訪問。

[some_stuff]部分雖然很重要,因爲控制器執行一系列驗證,並會在其他地方重定向你,如果這些都沒有滿足

+0

只是爲了測試這一點,我嘗試了測試通過檢查,通過與返回URL是' HTTP://prestashop.dev/order-confirmation id_cart = 15&id_module = 30&id_order = 12&鍵= 25c97e1d2157ba33402a5512ade3beeb'。因此,這與您所說的 – mikelovelyuk

+0

不一樣,這就是訪問訂單確認控制器的重寫網址。由於我無法知道您或其他人爲了訂單確認而更改了友好網址,我使用直接訪問控制器的方式。只要嘗試使用我剛剛發佈的參數發佈的網址,我很確定你會得到相同的確認頁面 – defuzed

+0

,但我可以隨意調用控制器名稱,對吧?如果我創建了'GatewayFoobarModuleFrontController extends ModuleFrontController'類,那麼我可以通過傳遞'controller = foobar'來訪問'postProcess'方法。那麼有什麼意義呢?我只做我所有的驗證嗎?我實際上並不需要遵循慣例? – mikelovelyuk

相關問題