のRailsにストライプAPIへの加入者の税率を提出します。ニュージャージー州のユーザーには、7%の消費税を課す必要があります。他のすべては0です。だから彼らがDeviseにアカウントを登録するとき、私は彼らの状態を記録します。はしっかりだから私は、私がコンテンツにアクセスするためのサブスクリプションを販売していますレールアプリを持っている
はその後、私のSubscriptionsController.rbに、私は彼らがNJに住んでいるかどうかを確認します。
data = if current_user.home_state == "NJ"
subscription_params.merge(tax_percent: 7)
else
subscription_params
end
@subscription = ::Subscription.new(data)
サブスクリプションが作成される場合は、サブスクリプションテーブルが適切に更新されます。私はまた、ユーザーが購入した場合、このtax_percentもStripeのAPIにヒットすると仮定しましたが、そうではありません。
だから私は、サブスクリプションの作成フォームにこれを追加してみました:
<%= f.hidden_field :tax_percent %>
、それはストライプのAPIを打つが、税率としてヒットん:「」、NULLです。
だから私はいつもこのようなロジックチェックを実行することができます
<% if current_user.home_state == "NJ" %>
<%= hidden_field :tax_percent, :value => '7' %>
<% end %>
しかし、その後、私は操作することができ、クライアントに価値を暴露しています。
ストライプのAPIには、この値を送信するための最良の「レール」の方法は何ですか?
あなたはまだそこに詰まっています。あなたが持っているStripe APIの呼び出しコードを表示できますか?あなたはフォームでファイルを提出する必要はありません。ストライプAPIに値を渡す必要があります。フォームに関連するものは何もなく、私はそれを最後に説明しました。あなたがフォームを冗長から送信しているデータは、ユーザーの選択をキャプチャしているためです。テーブルの価値に基づいて決定します。したがって、それはあらかじめ定義されています。 –
隠しフィールドが追加されているところは次のとおりです。処理:Kodoku :: SubscriptionsController#HTMLとして作成 {"utf8" => "✓"、 "authenticity_token" => "token_here"、 "subscription" => == "undefined"}、 "owner_id" => "tax_percent" => ""、 "plan_id" => "5"、 "credit_card_token" => "cctoken"、 "last_four" 80 "} – JohnOHFS
その必要はありません。 :)サブスクリプションを作成する必要があるStripeコードを表示します。 –