Параметры подписки Chargify - PullRequest
0 голосов
/ 06 июля 2011

В настоящее время я работаю над существующим приложением Ruby on Rails, которое построено на Spree и Chargify для подписок и платежей. Человек, который работал над приложением раньше, не упомянул ни одного комментария, а также большинство вещей не является истинным представлением RESTful Rails Application.

Во всяком случае, у меня есть 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']

Второе, что я должен сделать, запрос 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`
>         }
>       }}

У меня такой вопрос: какой будет наименее трудоемкий способ сделать запрос get на вышеуказанный URL? Во-вторых, мне нужно получить пару полученных параметров и показать их на странице « information.html.erb ». Я предполагаю, что лучшим способом было бы сделать что-то вроде этого:

balance = params[_json][:balance_in_cents].

Я не уверен, правильно ли я это делаю или нет. Любые предложения будут оценены.

Спасибо

1 Ответ

0 голосов
/ 13 мая 2012

HTTParty и Multi Json решили обе эти проблемы для меня.

...