即使结账过程是使用 Paypal Sandbox 完成的,订单状态也显示付款待处理。
我的配置错误?
最佳答案
我也遇到了同样的问题,可能是很多原因,但我不知道如果实体产品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上的一个简单钩子(Hook)改变了这种行为,您可以在函数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 文档 https://docs.woocommerce.com/document/paypal-standard/#section-21
关于paypal - Woocommerce 沙箱 paypal 显示订单状态付款待处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45204079/