我有一個帶有單選按鈕的表單來選擇捐贈金額的選項。Stripe with Rails上的捐款
,看起來像這樣:
<tr>
<td><input type="radio" name="amount" value="10"><span>$10</span></td>
<td><input class="awk" type="radio" name="amount" value="25"><span>$25</span></td>
</tr>
<tr>
<td><input type="radio" name="amount" value="50"><span>$50</span></td>
<td><input type="radio" name="amount" value="100"><span>$100</span></td>
</tr>
有一個支付按鈕,打開條紋支付網關。
,因爲我有形式是這樣的:
<%= form_tag charges_path, id: 'chargeForm' do %>
<script src="https://checkout.stripe.com/checkout.js"></script>
<%= hidden_field_tag 'stripeToken' %>
<%= hidden_field_tag 'stripeEmail' %>
<button id="customButton" class="btn btn-large btn-primary">Buy Now</button>
<script>
var handler = StripeCheckout.configure({
key: 'foo',
image: '/assets/my_logo.png',
token: function(token, args) {
document.getElementById("stripeToken").value = token.id;
document.getElementById("stripeEmail").value = token.email;
document.getElementById("chargeForm").submit();
}
});
document.getElementById('customButton').addEventListener('click', function(e) {
// Open Checkout with further options
handler.open({
name: 'My Company',
description: 'Product ($60.00)',
amount: (100 * $('input[name=amount]:checked', '#stripe_donate').val()),
shippingAddress: false
});
e.preventDefault();
});
</script>
<% end %>
這會將條紋莫代爾正確的支付按鈕顯示正確的金額,但我怎麼告訴Rails多少向客戶收取?條紋充電$ 5.00不管是什麼,因爲鐵軌控制器代碼:
class ChargesController < ApplicationController
def new
end
def create
# Amount in cents
@amount = 500
customer = Stripe::Customer.create(
:email => '[email protected]',
:card => params[:stripeToken]
)
charge = Stripe::Charge.create(
:customer => customer.id,
:amount => @amount,
:description => 'Rails Stripe customer',
:currency => 'usd'
)
rescue Stripe::CardError => e
flash[:error] = e.message
redirect_to charges_path
end
end
所以我如何告訴,該@amount需要設置從頁面收到一個值時,控制器軌道?我是否完全跳過導軌路線並使用純JS執行此操作?
是否可以只使用條紋HTML代碼attribuets並與jQuery改變數據量? – Peege151 2014-09-11 04:26:47
Checkout.js只創建令牌。您必須將金額存入服務器才能收取費用。如果您從數據量屬性或輸入元素中獲取數據,那麼只要您的服務器獲取金額和令牌,則它並不重要。 – 2014-09-11 04:43:20
我試圖在上面實現你的代碼,但得到了錯誤:缺少所需的參數'數量'。不知何故......我應該把你的代碼放在哪裏(參考我的代碼)? – Peege151 2014-09-11 05:04:16