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

Woocommerce沙盒paypal显示订单状态付款待定,paypal,woocommerce,paypal-sandbox,Paypal,Woocommerce,Paypal Sandbox,即使结帐过程是使用Paypal沙箱完成的,订单状态也会显示付款待定 我的配置错误?我也有同样的问题,可能有很多问题,但我没有意识到,如果是实物产品woocommerce在付款时没有完成订单,那是因为您应该打包并发送给客户,但仍然需要卖家采取一些措施 在类wc order.php中可以找到此函数 public function payment_complete( $transaction_id = '' ) { ... $this->set_s

即使结帐过程是使用Paypal沙箱完成的,订单状态也会显示付款待定


我的配置错误?

我也有同样的问题,可能有很多问题,但我没有意识到,如果是实物产品woocommerce在付款时没有完成订单,那是因为您应该打包并发送给客户,但仍然需要卖家采取一些措施

类wc order.php中可以找到此函数

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\u processing()中找到的一个简单的过滤器钩子woocommerce\u order\u item\u needs\u processing改变了这种行为


但事实上,这个问题可能有很多,所以这不是你的情况,然后看看这里的woocommerce pay pal文档

付款的交易类型是什么?授权还是捕获?支付操作是捕获。您熟悉IPN吗?听起来你的IPN更新工作不正常。你可以在PayPal中查看IPN历史记录来验证这一点。我不熟悉IPN。请问我如何检查IPN历史?
/**
 * 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;
}