2017-07-20 104 views
0

即使使用Paypal Sandbox完成結賬過程,訂單狀態顯示付款待定。Woocommerce sandbox paypal show訂單狀態付款待定

我的配置有誤?

+0

設置爲付款的交易類型是什麼?授權或捕獲? – GeekNinja

+0

付款操作是捕獲。 –

+0

您是否熟悉IPN?這聽起來像你的IPN更新無法正常工作。您可以在PayPal中查看IPN歷史記錄來驗證這一點。 –

回答

0

我有同樣的問題,可能有很多的事情,但我不知道,在實物產品的情況下woocommerce沒有完成付款後的順序,那是因爲你要打包並傳送到顧客仍然需要賣家的一些行動。

類-WC-order.php

核心woocommerce您可以找到這個功能

public function payment_complete($transaction_id = '') { 
     ... 
       $this->set_status(apply_filters('woocommerce_payment_complete_order_status', $this->needs_processing() ? 'processing' : 'completed', $this->get_id(), $this)); 
       ... 
} 

needs_processing()將返回如果產品不虛。

我改變了這種行爲,用一個簡單的掛鉤上過濾woocommerce_order_item_needs_processing,你可以找到的功能needs_processing()內

/** 
* this hooks turn status complete for every order upon payment. 
*/ 

add_filter('woocommerce_order_item_needs_processing','my_filter'); 

//see class-wc-order line 1368 to understand the return value 
function my_filter(){ 
    return false; 
} 

但實際上,這個問題可能很多的事情,所以這不是您的案例然後看看這裏的woocommerce pay pal doc https://docs.woocommerce.com/document/paypal-standard/#section-21