私は現在、サブスクリプションと支払いのためにSpreeとChargifyに基づいて構築された既存のRubyonRailsアプリに取り組んでいます。以前にアプリケーションに取り組んだ人はコメントについて言及していませんでした。また、ほとんどのことはRESTfulRailsアプリケーションの真の表現ではありません。
とにかく明確にしておきたいことが2つあります。まず第一に、誰かが私にこのコードが何をしているのか説明することができます:
couponJSON = `curl -u #{Chargify.api_key}:x https://#{Chargify.subdomain}.chargify.com/product_families/#{subscription_product_family_id}/coupons/find.json?code=#{params[:payment_form][:coupon_code]}`
coupon_amount_in_cents = ActiveSupport::JSON.decode(couponJSON)['coupon']['amount_in_cents']
2番目にGETリクエストを行う必要があります:
https://[@subdomain].chargify.com/subscriptions/[@subscription.id].json
返されるjson応答は次のようになります:
> {"subscription":{
> "id":[@subscription.id],
> "state":"active",
> "balance_in_cents":0,
> "current_period_started_at":`auto
> generated`,
> "current_period_ends_at":`auto generated`,
> "activated_at":`auto generated`,
> "trial_ended_at":`auto generated`,
> "trial_started_at":`auto generated`,
> "expires_at":`auto generated`,
> "created_at":`auto generated`,
> "updated_at":`auto generated`,
> "cancellation_message":null,
> "customer":{
> "id":`auto generated`,
> "first_name":`your value`,
> "last_name":`your value`,
> "email":`your value`,
> "organization":`your value`,
> "reference":`your value`,
> "updated_at":`auto generated`,
> "created_at":`auto generated`
> },
> "product":{
> "id":`auto generated`,
> "name":`your value`,
> "handle":`your value`,
> "price_in_cents":`your value`,
> "accounting_code":`your value`,
> "interval":`your value`,
> "interval_unit":`your value`,
> "product_family":{
> "id":`auto generated`,
> "name":`your value`,
> "handle":`your value`,
> "accounting_code":`your value`
> }
> },
> "credit_card":{
> "first_name":`your value`,
> "last_name":`your value`,
> "masked_card_number":`your value`,
> "card_type":`auto generated`,
> "expiration_month":`your value`,
> "expiration_year":`your value`
> }
> }}
私の質問は、上記のURLへのgetリクエストを行うための最も時間のかからない方法は何でしょうか?次に、受け取ったいくつかのパラメーターを取得して、「information.html.erb」というタイトルのページに表示する必要があります。私は最善の方法はこのようなことをすることだと思います:
balance = params[_json][:balance_in_cents].
私はそれを正しくやっているかどうかわかりません。任意の提案をいただければ幸いです。
ありがとう