2017-07-20 102 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