javascript - 我的 Rails 应用程序中的 Stripe 和tax_percent

标签 javascript ruby-on-rails stripe-payments

所以我的 Rails 应用程序出售订阅来访问内容。我暂时在结帐表单中插入一个隐藏字段,以将tax_percent 传递到 Stripe 的 API,但它在 Stripe 仪表板中始终显示为空。该税仅适用于新泽西州,如果买家也在新泽西州,则直接征收 7%。我通过 javascript 调用 ( Calculating Sales Tax for a US State in Javascript ) 计算销售税,然后将值推送到 subscription#create 操作。除非它不起作用。

下面是该行在表单中的样子:

<input type="hidden" id="tax_percent" name="tax_percent">
<%= f.hidden_field :plan_id %>

是的,我需要构建一个 Ruby 方法来在服务器端计算这个值,但目前来说,这很好。

以下是日志中显示的内容:

Processing by Koudoku::SubscriptionsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"TokenValueHere", "tax_percent"=>"7", "subscription"=>{"plan_id"=>"5", "credit_card_token"=>"OtherTokenValue", "last_four"=>"undefined", "card_type"=>"undefined"}, "owner_id"=>"72"}

因此您会看到,tax_percent 似乎位于订阅对象之外,而 plan_id 则不然,但它们在结帐表单中彼此相邻。

如何让这个tax_percent正确地使用Stripe API?

最佳答案

为什么你的f.hidden_field在订阅对象内,而您的手册 <input>你问是不是?这是因为您的手动输入没有使用表单字段的命名约定hidden_field自动应用。

作为docs for #hidden_field 显示,您的隐藏字段 plan_id实际上有一个name subscription[plan_id] 的属性,不是plan_id 。另一个隐藏字段必须使用相同的 subscription[…]其值自动放入 params["subscription"] 处的哈希值的约定.

您可以自动将您的 tax_percent隐藏字段通过使用独立表单助手来遵守此命名约定 hidden_field :

<%= hidden_field :subscription, :tax_percent %>
<%= f.hidden_field :plan_id %>

关于javascript - 我的 Rails 应用程序中的 Stripe 和tax_percent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38603665/

相关文章:

jquery - 使用 jQuery 读取存储在我的响应 header 中的 JSON

sql - Rails Postgres : set all fields in a table to zero, 除了

php - Laravel 收银员 + Stripe : No Such Customer

css - Stripe 结帐按钮样式

javascript - 将不同的功能附加到动态创建的卡片

javascript - Dynamics CRM 2011 - 更改相关实体列表的 View

javascript - Nodejs 中的连接池(使用 sequelize)

ruby-on-rails - 用回形针测试 RSpec Controller

c# - Stripe 异常 : No Such Plan

javascript - jQuery:出列特定动画