我目前正在开发一个Rails应用程序,以接受使用Chargify的定期结算。我安装了their gem并设法通过gem连接到Chargify。但是,有些订阅会通过,有些订阅则不通过。
我的问题是,一旦gem与服务器通信,我该如何处理甚至处理响应?
我在开发日志中没有看到任何表明数据传输成功或失败的迹象。 gem文档也没有提到任何与此有关的内容。
感谢您的光临。
更新
我正在玩的代码在我的结帐控制器中:
def checkout @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
端
客户创建正在进行,但订阅却没有。我只是在寻找来自服务器的回调,所以我可以根据它是否成功进行操作,并找出订阅未通过的原因。
答案 0 :(得分:2)
由于整个gem使用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
时,它会创建或更新记录并进行测试,这样可以确定您的记录是否已创建。