2014-10-30 198 views
0

我正在嘗試實施與prestashop的第三方支付集成。我已經使用universepay模塊來獲得基本支付模塊。但是,我需要知道如何獲取購物車物品的價值和金額,以便我可以將此通知給我的第三方支付提供商。該數據可用於哪些文件?誰能幫忙?Prestashop第三方支付集成

回答

0

請參閱此掛鉤名單:

http://doc.prestashop.com/display/PS15/Hooks+in+PrestaShop+1.5

這是在現有的PrestaShop掛鉤的(幾乎)完整列表。如果您需要查找在確切的給定時刻執行什麼鉤子(例如,當您重定向到訂單確認頁面時),請轉至Hook.php級別,搜索exec()方法,然後搜索error_log($hook_name);。喲知道你將要使用它鉤後,你的模塊中創建一個函數:

public function hook{HOOKNAME}($args){ 
    error_log(print_r($args, 1)); 
} 

這樣你就知道你的鉤子函數什麼參數傳遞。最有可能的是,您選擇了一些與訂單相關的訂單鉤子,您將有一個訂單對象傳遞給您,它將包含您所需訂單的所有信息。

+0

嗨我試着你的method..however同時檢查管理面板中的日誌文件..我沒有看到任何數據打印。我該怎麼做? – Philomath 2014-11-03 11:00:05

+0

error_log打印到服務器中的PHP錯誤日誌。 – gskema 2014-11-03 12:54:42

0

如果您正在創建自己的付款模塊來執行此操作,那麼隨着您的模塊將extend PaymentModule,您可以使用payment掛鉤在生成付款按鈕清單時獲取此信息。

class MyPaymentModule extends PaymentModule { 

    public function __construct() { 
    $this->name = 'My Payment Module'; 
    ... 
    } 

    public function install() { 
    return (bool)$this->registerHook('payment'); 
    } 

    public function hookPayment($aParams) { 
    $oCart = $aParams['cart']; 
    $aProducts = $oCart->getProducts(); 
    ... 
    $sHtmlPaymentButton = '<b>My Payment Module</b>'; 
    return $sHtmlPaymentButton; 
    } 
} 

顯然有很多額外的代碼和辛勤工作將需要把這個上面的代碼片段工作支付模塊,但希望它給出了回答你的問題,並給你一個很好的起點。

另外,如果您需要此信息對您店鋪的所有支付模塊,那麼你可以使用這個類文件的覆蓋拷貝到您的覆蓋/班文件夾訪問來自PaymentModule類的validateOrder功能內的信息。