弹出窗口中的Woocommerce结帐

时间:2017-06-09 13:34:28

标签: wordpress woocommerce modal-dialog stripe-payments checkout

我试图在模态窗口中实现结帐功能(+带有WooCommerce Stripe Payment Gateway插件的条带),并且我正在使用ajax。这是我的后端代码来获取/刷新结帐:

add_action('wp_ajax_refresh_checkout', 'getCheckoutPageContentCallBack');
add_action('wp_ajax_nopriv_refresh_checkout', 'getCheckoutPageContentCallBack');

function getCheckoutPageContentCallBack() {
    define('WOOCOMMERCE_CHECKOUT', true);
    echo do_shortcode('[woocommerce_checkout]');
    if (class_exists('WooCommerce')) {
        $wcurl = WooCommerce::plugin_url();

        $credit_card_form_script = file_get_contents($wcurl . '/assets/js/frontend/credit-card-form.min.js');
        if ($credit_card_form_script) {
            echo "<script>";
            echo $credit_card_form_script;
            echo "</script>";
        }

        $checkout_script = file_get_contents($wcurl . '/assets/js/frontend/checkout.min.js');
        if ($checkout_script) {
            echo "<script>";
            echo $checkout_script;
            echo "</script>";
        }
    }
    wp_die();
}

我包含了结帐页面的所有脚本,但仍然收到错误:

  

请输入您的信用卡详细信息以进行付款。开发人员:请确保您包含jQuery,并且页面上没有JavaScript错误。

包含jQuery,页面上没有js错误。原始结帐页面工作得很好。我认为问题在于我通过以下代码从原始部分删除了付款部分:

remove_action('woocommerce_checkout_order_review', 'woocommerce_checkout_payment', 20);
add_action('woocommerce_checkout_order_payment', 'woocommerce_checkout_payment', 20);

但评论这些线条并没有给我什么。我编辑了这个页面,所以现在这不是商店页面(只是一个带循环的页面)。 我注意到,通过结帐页面进行付款时,第一个请求带有卡凭据进入https://api.stripe.com/v1/tokens,下一个请求使用stripe_token进入/ checkout /?wc-ajax = checkout等等。当我尝试从我的模态结账时,没有请求sripe API,只是结账。也许每次刷新结账时都需要包含一些脚本?无法找到有关它的任何信息。

0 个答案:

没有答案