2016-04-13 99 views
0

我的Prestashop模塊出現問題。我正在開發一個付款模塊。它的工作原理,但我的訂單狀態有問題。我在付款之前關閉訂單(因爲我必須將訂單確認後生成的銀行參考發送給我)。然後,當付款被接受時,我的銀行會將我想要編輯的一個php文件返回給我,以便將訂單狀態從「等待付款」更改爲「已接受付款」,我該如何實現?確認訂單後更新訂單狀態

我使用的Prestashop 1.6.1.4

感謝您的每一個建議,或者你可以提供的信息。

問候

回答

0

如果你看一下PaymentModule.php類,你可以找到如何創建訂單後

$new_history = new OrderHistory(); 
$new_history->id_order = (int) $order->id; 
$new_history->changeIdOrderState((int) $id_order_state, $order, true); 

訂單狀態設置你絕對需要雖然訂單發送參照銀行?我的店鋪會在您實際創建訂單之前發送訂單編號,您可以使用Order::getNextOrderId()

+0

嗨,謝謝你的回答。 – Aleksander

+0

我必須向銀行發送訂單ID,如果我發送2次相同的訂單ID,我的銀行將返回錯誤,因此我必須關閉訂單以獲取ID,並且如果我必須在我的訂單中更改某些內容我可以發送另一個訂單ID和銀行不返回錯誤,我可以繼續付款(這聽起來很蠢,但是我發現它工作的唯一方式)。所以我想在付款被接受後更新訂單狀態。我能想到的唯一方法是在php文件中更新它,銀行在成功付款後返回。 – Aleksander

+0

順便說一句,如果我使用Order :: getNextOrderId()不存在這樣的可能性,如果兩個用戶在同一時間完成結帳,但一個在另一個之前結束,則傳遞給銀行的order_id可能與後臺中的不同。 – Aleksander