使用JavaScript创建条带费用

使用JavaScript创建条带费用,javascript,php,html,stripe-payments,Javascript,Php,Html,Stripe Payments,我在下面有一段工作代码,我想知道是否有可能在结帐过程的“成功令牌”内进行条带收费?下面的所有代码都正常工作,我只是想知道在哪里插入创建Acctual费用的代码。 你不能在JS内部收费。向客户收取Stripe费用需要两个步骤 步骤1:您通过结帐收集客户的信用卡信息,然后将其发送到Stripe。你可以拿回一个代币。这就是你在上面代码中所做的 第2步:您必须持有此代币并将其传递到后端,然后告诉Stripe对其进行收费,或将其保存给客户,以便稍后收费。您需要在服务器上使用脚本(PHP、Ruby等)来

我在下面有一段工作代码,我想知道是否有可能在结帐过程的“成功令牌”内进行条带收费?下面的所有代码都正常工作,我只是想知道在哪里插入创建Acctual费用的代码。



你不能在JS内部收费。向客户收取Stripe费用需要两个步骤

步骤1:您通过结帐收集客户的信用卡信息,然后将其发送到Stripe。你可以拿回一个代币。这就是你在上面代码中所做的

第2步:您必须持有此代币并将其传递到后端,然后告诉Stripe对其进行收费,或将其保存给客户,以便稍后收费。您需要在服务器上使用脚本(PHP、Ruby等)来处理此步骤

第二步的一些简短示例如下:

token:function(token){}
回调中,您至少需要获取
token.id
,将其附加到签出按钮周围的
.submit()

如果您想要更复杂一点的东西,可以通过AJAX请求将令牌id传递到后端,然后将计费请求的成功或失败转发给用户

    <script src="https://checkout.stripe.com/checkout.js"></script>
    <script src="https://js.stripe.com/v3/"</script>

    <button id="payment-button" type="button" class="btn btn-success">Pay With Card</button>

    <script>
    var handler = StripeCheckout.configure({
      key: 'mykeyhere',
      image: 'https://stripe.com/img/documentation/checkout/marketplace.png',
      locale: 'auto',
      token: function(token) {
        // You can access the token ID with `token.id`.
        // Get the token ID to your server-side code for use.
        document.getElementById("book-appointment-submit").style.display="block";
        document.getElementById("payment-button").style.display="none";
      }
    });

    document.getElementById('payment-button').addEventListener('click', function(e) {
      // Open Checkout with further options:
      handler.open({
        name: 'DenchCodeLTD',
        description: '2 widgets',
        zipCode: true,
        currency: 'gbp',
        amount: 2000
      });
      e.preventDefault();
    });

    // Close Checkout on page navigation:
    window.addEventListener('popstate', function() {
      handler.close();
    });
    </script>

<!-- End Of Stripe Payment -->

<button id="book-appointment-submit" type="button" class="btn btn-success" style="display:none">
    <span class="glyphicon glyphicon-ok"></span>
    <?php
        echo (!$manage_mode) ? $this->lang->line('confirm')
                : $this->lang->line('update');
    ?>
</button>