woocommerce-结帐失败/不起作用

我的woocommerce结帐正在显示, 直到今天早上工作正常。但是现在当我尝试提交表单时, 我收到以下消息:” 我们无法处理你的订单, 请重试” 。我没有更改设置或插件中的任何内容。我最近将woocommerce更新到2.3.5。但是, 在那之后, 一切都运转良好。我真的不明白这是怎么回事。我希望有人能帮助我。
谢谢!
PS:即使打开计费字段, 我也会收到所有错误消息…
_____编辑______
【woocommerce-结帐失败/不起作用】我发现了引发错误的函数:

if ( empty( $_POST['_wpnonce'] ) || ! wp_verify_nonce( $_POST['_wpnonce'], 'woocommerce-process_checkout' ) ) { WC()-> session-> set( 'refresh_totals', true ); throw new Exception( __( 'We were unable to process your order, please try again.', 'woocommerce' ) ); }

该文件位于woocommerce / includes / class-wc-checkout.php中的第351行。
#1我找到了解决方案。随着WooCommerce 2.3.5更新, 添加了两个新文件:payment.php和payment-method.php。在payment.php中, 有以下行:
< ?php wp_nonce_field( 'woocommerce-process_checkout' ); ?>

不知何故, 此行在我的孩子主题中被删除了。
#2有人提到他们在Woocommerce中使用GoogleRECAPTCHA插件时遇到了这个问题。他们禁用了它, 问题就消失了。 ??
#3@SPS, 如果你真的在woocommerce 2.3.5上, 则应该有文件payment.php wp-content / plugins / woocommerce / templates / checkout /
同时, 这并不是我自己的真正罪魁祸首。 (因为已经有
< ?php wp_nonce_field( 'woocommerce-process_checkout' ); ?>

那里)实际上是我的付款插件的process_payment(){}函数在内部返回:
array ( 'result'=> 'success', 'redirect'=> add_query_arg('order', $order-> id, add_query_arg('key', $order-> order_key, get_permalink(get_option('woocommerce_pay_page_id')))) );

代替
array ( 'result'=> 'success', 'redirect'=> add_query_arg('order', $order-> id, add_query_arg('key', $order-> order_key, get_permalink(woocommerce_get_page_id('pay' )))) );

检查你的代码也进行更改, 该问题将消失。 ??
#4作为备用解决方案, 如果你在登台中使用自签名SSL证书(或SSL过期)并且选择在结帐视图中强制使用https, 则它将导致PayPal失败, 并显示此相当无益的消息。
你会知道你遇到了这个问题, 因为WordPress会不断将你从管理员中注销, 并在发生安全/不安全交接时强制你重新进行身份验证。

    推荐阅读