我正在寻找有关在结帐时将“tax_percent”注入我应用的 Stripe 订阅的最佳方式的反馈。
由于我住在新泽西州,我需要确定订阅购买者 (current_user) 是否也住在新泽西州。现在,我在结帐时询问用户他们住在哪个州,如果他们选择 NJ,我会通过 javascript 调用添加 7% 的销售税,以更新显示的税金和订单总额。
提交表单并创建订阅时,它不会将 tax_percent 值作为订阅对象传递,因为它只是一个客户端函数。所以我的挑战是将 tax_percent 注入订阅表单,以便将其提交到 Stripe 的 API 并使用 Stripe 进行记录。
我想我有几个选择,我想知道解决这个问题的最佳方法是什么。
- 我想到的第一个选项是询问用户当他们第一次通过设计注册网站时他们居住在什么状态。我可以在用户表中添加一个 home_state 列。我还需要在我的订阅表中添加一个 tax_percent 列。然后我会有一个 current_user.home_state 值,我可以在结帐时查询。
在结帐时,我基本上可以问:
<% if current_user.home_state == "NJ" %>
<%= hidden_field :subscription, :tax_percent, :value => '7' %>
<% end %>
但是由于精明的用户可以更改此值,因此这可能不是最佳方法。
我还能如何更安全地设置 :tax_percent ?同样,它仅适用于新泽西州居民。如果您不住在新泽西州,tax_percent 可以为空。
对于某些背景,我最初试图弄清楚如何从 javascript 数学(我的 Rails 应用程序中的 Stripe 和 tax_percent)中传递它
谢谢!