在最新的更新中,Stripe付款处理似乎由单独的WC / Stripe插件的用户完成 . 从那时起,我的 wp_enqueue_script()
停止在我的确认页面上工作 . 它仍然适用于货到付款 .
这是我的COD付款(这是有效的):
add_action( 'woocommerce_thankyou', array( 'MyApp', 'myapp_woocommerce_thankyou' ), 1000 );
这是我必须跟踪Stripe付款(不工作):
add_action( 'wc_gateway_stripe_process_payment', array( 'MyApp', 'myapp_woocommerce_thankyou_wc3_stripe' ), 1000, 2 );
然后我有这些功能 . 一个用于条纹,一个用于其他所有:
public static function myapp_woocommerce_thankyou($order_id) {
echo 'Test'; // Works on both payment methods
$myapp_vars = array( 'num' => rand() ); // Dummy data
// Load the JS
wp_register_script( "scripts" , plugin_dir_url( __FILE__ ) . "/myapp.js" );
wp_enqueue_script( "scripts" );
wp_localize_script( "scripts" , "myapp_vars", $myapp_vars );
}
public static function myapp_woocommerce_thankyou_wc3_stripe( $stripe_response, $order ) {
MyApp::myapp_woocommerce_thankyou( $order->get_id() );
}
我能够在 myapp_woocommerce_thankyou()
中回显数据,但是当客户通过Stripe付款时, wp_localize_script
部分将无法运行 .
1 回答
我想到了 . 我正在使用WooCommerce,他们改变了他们的API . 不幸的是,WP / WC没有默认报告错误 . 我不得不像热狮子一样去寻找伴侣 .