У меня есть несколько клиентов, которые полагаются на мой сервер, который обрабатывает запросы оплаты Stripe. Когда плата обрабатывается, я хочу отправить моему клиенту обратно JSON о том, была ли плата успешно создана, а если нет, причины.Rails: возвращает JSON ответа Stripe от сервера
Мой сервер можно посмотреть here.
Код для моего контроллера заключается в следующем:
class ChargesController < ApplicationController
protect_from_forgery
skip_before_action :verify_authenticity_token
def new
end
def create
# Amount in cents
@amount = 500
customer = Stripe::Customer.create(
:email => params[:stripeEmail],
:source => params[:stripeToken]
)
charge = Stripe::Charge.create(
:customer => customer.id,
:amount => @amount,
:description => 'Rails Stripe customer',
:currency => 'usd'
)
#*WHAT I TRIED DOING THAT DIDN'T WORK*
# respond_to do |format|
# msg = { :status => "ok", :message => "Success!"}
# format.json { render :json => msg }
# end
rescue Stripe::CardError => e
flash[:error] = e.message
redirect_to new_charge_path
end
end
Я пытаюсь вызвать мой RESTful API с помощью следующего URL:
curl -XPOST https://murmuring-wave-13313.herokuapp.com/charges.json?stripeToken=tok_*****************&[email protected]
Я предполагаю, что мне нужно, чтобы получить доступ к некоторым metadata, но я не уверен, как это сделать.
Какие результаты в 500 Response
Как правильно структурировать мой контроллер заряжает, чтобы вернуть JSON в ответ Stripe в?
Я понял, что я царски ввернул и забыл совершить 'format.html {визуализации: шаблон =>«заряды/создать»}' в этом состоянии до heroku, поэтому ошибки, которые я получал, не были бы уместны для моего первоначального вопроса (я не думаю, по крайней мере). извините за любую путаницу. – beckah