2011-07-06 57 views
0

我目前正在構建Spree和Chargify上訂閱和付款的現有Ruby on Rails應用程序。之前從事應用程序工作的人員沒有提到任何評論,而且大部分內容都不是RESTful Rails應用程序的真實代表。Chargify訂閱參數

無論如何,我有兩件事情我想澄清。首先,有人能解釋我這一段代碼是這樣做的:

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'] 

第二件事我必須做出一個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的請求?第二件事,我必須抓住幾個收到的參數,並在標題爲「information.html.erb」的頁面上顯示。我認爲最好的辦法是做這樣的事情:

balance = params[_json][:balance_in_cents]. 

我不確定我是否正確或不正確。任何建議,將不勝感激。

謝謝

回答

0

HTTParty和Multi Json爲我解決了這兩個問題。