Как мне обработать ответы от использования официального драгоценного камня Chargify в Rails 3. - PullRequest
0 голосов
/ 29 июля 2011

В настоящее время я разрабатываю приложение Rails для приема повторяющихся платежей с использованием Chargify.Я установил их драгоценный камень и сумел подключиться к Chargify с этим драгоценным камнем.Однако некоторые подписки проходят, а некоторые нет.

Мой вопрос заключается в том, как мне обработать или даже обработать ответ, когда гем взаимодействует с сервером?

Я не вижу в журналах разработки ничего, что даетЛюбой признак успешной передачи данных или неудачной.В документации по драгоценным камням также ничего не говорится об этом.

Спасибо за просмотр.

ОБНОВЛЕНИЕ

Код, с которым я играю, находится в моем контроллере проверки:

defcheckout @customer = Customer.new (params [: customer])

Chargify::Customer.create(
  :first_name   => "Charlie",
  :last_name    => "Bull",
  :email        => "charlie@example.com",
  :organization => "Chargify"
)

Chargify::Subscription.create(
  :product_handle => 'recurring',
  :customer_attriburtes => {
    :first_name => @customer.shipping_first_name, 
    :last_name => @customer.shipping_last_name, 
    :email => @customer.email
  },
  :payment_profile_attributes => {
    :first_name => @customer.shipping_first_name,
    :last_name => @customer.shipping_last_name,
    :full_number => "1",
    :expiration_month => 1,
    :expiration_year => 2012,
    :billing_address => @customer.shipping_street_address,
    :billing_city => @customer.shipping_city,
    :billing_state => @customer.shipping_state,
    :billing_zip => @customer.shipping_zip_code,
    :billing_country => @customer.shipping_country
  }
)

#if @subscription.save
#  logger.info "saved description"
#  redirect_to process_path
#else
#  redirect_to :back, :alert =>"There was an error."
#end

end

Создание клиента выполняется, но подписка - нет.Я просто ищу ответный звонок с сервера, чтобы я мог действовать, основываясь на том, удалось ли это, и выяснить, почему не проходит подписка.

1 Ответ

2 голосов
/ 30 июля 2011

Поскольку весь этот драгоценный камень использует ActiveResource, вы не можете просто вызвать что-то вроде:

# Create a subscription from a customer reference
subscription = Chargify::Subscription.create(
  :customer_reference => 'moklett',
  :product_handle => 'chargify-api-ares-test',
  :credit_card_attributes => {
    :first_name => "Michael",
    :last_name => "Klett",
    :expiration_month => 1,
    :expiration_year => 2020,
    :full_number => "1"
  }
)
if subscription.save
  puts "Created Subscription!"
else
  puts "Subscription Failed!"
end

и посмотрите, правильно ли была создана запись?

РЕДАКТИРОВАТЬ: Ваш код должен работать, но я вижу, что призыв к сохранению закомментирован. Когда вы звоните save, он создает или обновляет запись, и тестирование должно позволить вам определить, была ли ваша запись создана или нет.

...