弹出窗口中的Woocommerce结帐

问题描述 投票:5回答:1

我正在尝试在模式窗口中实现结帐功能(使用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的请求,只是对签出的请求。也许每次刷新结帐时都需要包含一些脚本?找不到有关它的任何信息。

wordpress woocommerce modal-dialog stripe-payments checkout
1个回答
0
投票

我们可以通过EasyDigitalDownloads插件执行此操作吗?主题:EDD PopUp Checkout

© www.soinside.com 2019 - 2024. All rights reserved.