Woocommerce沙箱paypal显示订单状态付款待定

时间:2017-07-20 02:30:38

标签: paypal woocommerce paypal-sandbox

即使结账流程使用Paypal Sandbox完成,订单状态也会显示付款待处理。

我的配置错了?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,可能是很多事情,但我不知道,如果实体产品 woocommerce 在付款时没有完成订单,这是因为您应该打包并发送给客户,因此需要卖方采取一些行动。

class-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()将返回 true

我使用过滤器 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

相关问题