Wordpress / WooCommerce:woocommerce_thankyou不使用Stripe付款

在最新的更新中,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)

2 years ago

我想到了 . 我正在使用WooCommerce,他们改变了他们的API . 不幸的是,WP / WC没有默认报告错误 . 我不得不像热狮子一样去寻找伴侣 .