在最新的更新中,Stripe付款处理似乎由单独的WC / Stripe插件的用户完成。从那时起,我的wp_enqueue_script()
停止在我的确认页面上工作。它仍然适用于货到付款。
以下是我对COD付款的支持(这有效):
add_action( 'woocommerce_thankyou', array( 'MyApp', 'myapp_woocommerce_thankyou' ), 1000 );
以下是我必须跟踪Stripe付款(DOESN' T work):
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()
中的数据,但wp_localize_script
部分只是在客户通过Stripe付款时才会运行。
答案 0 :(得分:0)
我明白了。我正在使用WooCommerce,他们改变了他们的API。不幸的是,WP / WC没有默认报告错误。我不得不像热狮子一样去寻找配偶。