繁体   English   中英

Rails Stripe Js可变金额结帐

[英]Rails Stripe Js variable amount checkout

据我所知,最好的问题是,没有调用条纹签出模式,因此请求在没有设置stripeToken的情况下直接通过了我的收费控制器,因此引发了源为空错误。

这是他们的安装教程的链接: https : //stripe.com/docs/recipes/variable-amount-checkout

因此,我在阅读时实际上已经复制/粘贴了他们的代码,只是简单地修改了最小数量。 我的api键有错误,但是我克服了这个问题。

看一下我的错误:您为'source'传递了一个空白字符串。 您应从请求中删除“源”参数,或提供非空白值。

Stripe::Charge.create(
      :amount => @amount,
      :currency => 'usd',
      :source => params[:stripeToken],

参数:

{“ utf8” =>“✓”,“ authenticity_token” =>“长码...”,“金额” =>“ 6”,“ stripeToken” =>“”}

模态根本不会出现在此错误之前。 我怀疑捐赠按钮事件处理程序根本不会调用检出模式js。

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

<script>
var handler = StripeCheckout.configure({
  key: '<%= Rails.configuration.stripe[:publishable_key] %>',
  locale: 'auto',
  name: 'Ragnar\'s Redoubt',
  description: 'One-time donation',
  token: function(token) {
    $('input#stripeToken').val(token.id);
    $('form').submit();
  }
});

$('#donateButton').on('click', function(e) {
  e.preventDefault();

  $('#error_explanation').html('');

  var amount = $('input#amount').val();
  amount = amount.replace(/\$/g, '').replace(/\,/g, '')

  amount = parseFloat(amount);

  if (isNaN(amount)) {
    $('#error_explanation').html('<p>Please enter a valid amount in USD ($).</p>');
  }
  else if (amount < 1.00) {
    $('#error_explanation').html('<p>Donation amount must be at least $1.</p>');
  }
  else {
    amount = amount * 100; // Needs to be an integer!
    handler.open({
      amount: Math.round(amount)
    })
  }
});

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

我是javascript新手,但看不到handle.open()如何打开上方的签出脚本。 var handle也没有调用它,所以我在这里缺少什么?

有回答我自己的菜鸟问题的风险...

我从freenode的#stripe irc频道获得了很棒的帮助。

即使我在此处正确键入,我仍会以某种方式错过键入?

因此,我是正确的,这是一个模态不显示的问题,正如#stripe上的乐于助人的人所说,“打开chrome开发人员工具并检查控制台以查看是否存在任何JavaScript错误”。

确实存在,它直接导致我出现拼写错误。 因此,+ 1#stripe,+ 1 chrome工具。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM