首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Stripe.js: stripeToken未发送

Stripe.js: stripeToken未发送
EN

Stack Overflow用户
提问于 2015-06-25 22:28:13
回答 1查看 803关注 0票数 1

我得到“这个客户没有附加的支付来源”,因为当stripeToken被发送到我的服务器时是空的。但是我不明白为什么hidden_field "stripeToken“是空的。

代码语言:javascript
复制
    <form class="form payment-form" id="firstForm" enctype="multipart/form-data" action="/academies" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="authenticity_token" value="kARxrUS2VEPGqegpe6uKFcOl+DgD6+dHkxRfYViglrjYrGLX6htlrABe2vJTK3Mwke74TP6XG2G7QWoPYWHG6g==" />                    
  <span class="payment-errors"></span>

      <div class="form-row">
        <label>
          <span>Card Number</span>
          <input type="text" size="20" data-stripe="number" value="4242424242424242" />
        </label>
      </div>

      <div class="form-row">
        <label>
          <span>CVC</span>
          <input type="text" size="4" data-stripe="cvc" value="123" />
        </label>
      </div>

      <div class="form-row">
        <label>
          <span>Expiration (MM/YYYY)</span>
          <input type="text" size="2" data-stripe="exp-month" value="12" />
        </label>
        <span> / </span>
        <input type="text" size="4" data-stripe="exp-year" value="2016" />
      </div>

      <button type="submit">Submit Payment</button>

JS

代码语言:javascript
复制
<script type="text/javascript">

    jQuery(function($) {
    $('.payment-form').submit(function(event) {
      var $form = $(this);

      // Disable the submit button to prevent repeated clicks
      $form.find('button').prop('disabled', true);

      Stripe.card.createToken($form, stripeResponseHandler);

      // Prevent the form from submitting with the default action
      return false;
    });
  });


  function stripeResponseHandler(status, response) {
      var $form = $('.payment-form');

      if (response.error) {
        // Show the errors on the form
        $form.find('.payment-errors').text(response.error.message);
        $form.find('button').prop('disabled', false);
      } else {
        // response contains id and card, which contains additional card details
        var token = response.id;

        console.log(token);
        // Insert the token into the form so it gets submitted to the server
        $form.append($('<input type="hidden" name="stripeToken" />').val(token));
        // and submit
        $form.get(0).submit();
      }
};

</script>
EN

回答 1

Stack Overflow用户

发布于 2015-06-30 20:28:24

下决心

代码语言:javascript
复制
  Stripe.card.createToken({
      number: $('.card-number').val(),
      cvc: $('.card-cvc').val(),
      exp_month: $('.card-expiry-month').val(),
      exp_year: $('.card-expiry-year').val()
    }, stripeResponseHandler);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31061891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档