使用 Stripe Checkout 添加参数

Adding Parameters with Stripe Checkout

我正在尝试向 Stripe Checkout 添加参数。

new.html.erb

<%= form_for @user do |f| %>

    <%= f.label :first_name %>
    <%= f.text_field :first_name %>

    <%= f.label :last_name %>
    <%= f.text_field :last_name %>

<% end %>
<%= form_tag charges_path, class: 'stripeform' do %>

    <script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
            data-key="<%= Rails.configuration.stripe[:publishable_key] %>"
            data-description="Beautiful"
            data-amount="<%= @price*100 %>"
            data-image="<%= image_tag "logo.png" %>"></script>

<% end %>

考虑到 Stripe 有自己的 "submit" 按钮,如何传递额外的参数?

您可以在用于结帐的表单中添加额外的 <input> 字段。它们将与 Stripe 令牌一起发布

<form action="/charge" method="POST">
  <input type="text" name="extraParam">
  <input type="text" name="extraParam2">
  <script
    src="https://checkout.stripe.com/checkout.js" class="stripe-button"
    data-key="pk_test_XXX"
    data-image="/square-image.png"
    data-name="Demo Site"
    data-description="2 widgets (.00)"
    data-amount="2000">
  </script>
</form>

另一种解决方案是使用 Custom Checkouttoken() 回调中检索令牌,然后将其作为隐藏输入添加到您自己的表单中并提交。