javascript - 使用 Ruby on Rails 剥离 javascript

标签 javascript ruby-on-rails stripe-payments

我确信这很简单,但我无法弄清楚。我是 stripe 新手,这是我第一次在我的网站上配置它。我正在使用 Stripe 库中的以下 javascript 代码进行收费。

<script src="https://checkout.stripe.com/v2/checkout.js" class="stripe-button"
                data-key="<%= Rails.configuration.stripe[:publishable_key] %>"
                data-description="Qsnag One Time Fee"
                data-amount="<%=@amount*100%>"
                data-email="<%=current_user.email%>">
</script>

正如您在此处看到的,我的金额是一个变量,具体取决于用户选择的计划。我的问题是如何访问充电 Controller 中的金额来创建充电。我的收费 Controller 代码如下

  def create
    customer = Stripe::Customer.create(
      :email => params[:stripeEmail],
      :card  => params[:stripeToken],
      :plan  => @plan_id,
    )

    charge = Stripe::Charge.create(
      :customer    => customer.id,
      :amount      => @amount*100,
      :description => 'Qsnag customer',
      :currency    => 'usd'
    )

    rescue Stripe::CardError => e
      flash[:error] = e.message
  end

正如您所料,我在 Charge#create 中的 @amount 为 0。我想避免创建自定义表单并使用 javascript API。有没有办法从我的费用 Controller 中的 javascript API 访问金额。

最佳答案

我将金额添加为隐藏字段并将脚本放入表单标记中。

这是更新的答案:

        <form action="/charge" method="post">
          <script src="https://checkout.stripe.com/v2/checkout.js" class="stripe-button"
                  data-key="<%= Rails.configuration.stripe[:publishable_key] %>"
                  data-description="Qsnag One Time Fee"
                  data-amount="<%=@amount*100%>"
                  data-email="<%=current_user.email%>">
          </script>
          <input type="hidden" name="amount" value="<%=@amount*100%>"/>
          <input type="hidden" name="plan" value="<%=@plan%>"/>
        </form>

关于javascript - 使用 Ruby on Rails 剥离 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23281556/

相关文章:

node.js - 如何在stripe中的支付意图示例中自定义支付方式

Django/Stripe : idempotent requests can only be used with the same parameters

javascript - Chrome 在新窗口而不是选项卡中打开链接列表?

javascript - 计算单词和字符

ruby-on-rails - 基于参数的连接不受 sql 注入(inject)的影响

mysql - Rails 5在sql表中找不到日期字段

ruby-on-rails - Heroku Rails 部署失败,错误为 "could not connect to server: Connection refused"

ruby - 如何在 Stripe 成功处理定期订阅付款时收到通知?

javascript - 在服务器上处理 cloneNode

javascript - 移动设备的文本框输入键替代