【问题标题】:Rails 4 app not connecting to StripeRails 4 应用程序未连接到 Stripe
【发布时间】:2014-05-26 19:23:47
【问题描述】:

尝试向我的应用添加条带付款,但无法连接。 安装了条带宝石,重新启动服务器并添加了我的条带 API 密钥(测试) 添加了 javascript 信息,以便连接我的条带帐户

所以当我买东西时,请输入 CC 详细信息,它应该连接到条带。

还关闭了 turbolinks,但仍然如此。我需要的是从条纹弹出来我知道它的工作原理。

orders.js.coffee

jQuery ->
  Stripe.setPublishableKey($('meta[name="stripe-key"]').attr('content'))
  payment.setupForm()

payment =
  setupForm: ->
    $('#new_order').submit ->
        $('input[type=submit]').attr('disabled', true)
        Stripe.card.createToken($('#new_order'), payment.handleStripeResponse)
        false
  handleStripeResponse: (status, response) ->
    if status == 200
      alert(response.id)
    else
      alert(response.error.message)

show.html.erb

<div class="row">
  <div class="col-md-6">
    <div class="thumbnail">
      <%= image_tag @listing.image.url %>
    </div>
  </div>
  <div class="col-md-6">
    <h3><%= @listing.name %></h3>
    <p><%= number_to_currency(@listing.price) %></p>
    <p><%= @listing.description %></p>
    <br>
    <div class="center">
      <%= link_to "Buy it Now", new_listing_order_path(@listing), class: "btn btn-primary", data: { no_turbolink: true } %>
  </div>
</div>

<% if current_user == @listing.user %>
  <%= link_to 'Edit', edit_listing_path(@listing), class: "btn btn-link" %> |
<% end %>
<%= link_to 'Back', listings_path, class: "btn btn-link" %>

orders._form.html

<div class="row">
    <div class="col-md-4">
      <div class="thumbnail">
        <%= image_tag @listing.image.url %>
      </div>
      <h3><%= @listing.name %></h3>
      <h4><%= number_to_currency(@listing.price) %></h4>
    </div>

      <div class="col-md-8">

        <%= form_for([@listing, @order]) do |f| %>
          <% if @order.errors.any? %>
            <div id="error_explanation" class="alert alert-danger alert-dismissable">
              <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
              <h4><%= pluralize(@order.errors.count, "error") %> prohibited this order from being saved:</h4>

              <ul>
              <% @order.errors.full_messages.each do |msg| %>
                <li><%= msg %></li>
              <% end %>
              </ul>
            </div>
          <% end %>

          <div class="form-group">
            <%= f.label :address %>
            <%= f.text_field :address, class: "form-control" %>
          </div>
          <div class="form-group">
            <%= f.label :city %>
            <%= f.text_field :city, class: "form-control" %>
          </div>
          <div class="form-group">
            <%= f.label :state %>
            <%= f.text_field :state, class: "form-control" %>
          </div>



          <div class="form-group">
            <div class="row">
              <div class="col-md-8">
                <%= label_tag :card_number, "Credit Card Number" %>
                <%= text_field_tag :card_number, nil, { :name => nil, :'data-stripe' => "number", class: "form-control" } %>
              </div>
              <div class="col-md-4">
                <%= label_tag :card_code, "CVC" %>
                <%= text_field_tag :card_code, nil, { :name => nil, :'data-stripe' => "cvc", class: "form-control" } %>
              </div>
            </div>
          </div>

  <div class="form-group">
    <%= label_tag nil, "Expiration Date" %>
      <div class="row">
       <div class="col-md-3">
        <%= select_month nil, { use_two_digit_numbers: true }, { :name => nil, :'data-stripe' => "exp-month", class: "form-control" } %>
      </div>
      <div class="col-md-3">
        <%= select_year nil, { start_year: Date.today.year, end_year: Date.today.year+10 }, { :name => nil, :'data-stripe' => "exp-year", class: "form-control" } %>
      </div>
    </div>
  </div>

       <div class="form-group">
        <%= f.submit "Complete Order", class: "btn btn-success" %>
      </div>
    <% end %>
  </div>
</div>

【问题讨论】:

  • 你检查过是否发生了任何 JS 错误吗?
  • 是的,我没有检查 JS 错误

标签: javascript ruby-on-rails ruby stripe-payments


【解决方案1】:

您似乎正试图从一个不存在的表单触发 Stripe 函数。您有几个参考:

$('#new_order')

看起来你的表单ID实际上是新的列表顺序:

$('#new_listing_order')

但请检查生成的 HTML,或检查元素,以确保。

【讨论】:

  • 试过了,但没有连接到条带。新的列表顺序是用于输入地址详细信息和信用卡详细信息的表格。当您完成订单时,它应该连接到条带付款
  • 我怀疑它至少需要工作。您能否使用您现在拥有的内容更新问题中的代码,包括对 new_listing_order id 的两个引用?
猜你喜欢
  • 2018-09-06
  • 1970-01-01
  • 1970-01-01
  • 2022-08-15
  • 2020-08-19
  • 2019-08-05
  • 2015-07-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多