我正在使用Stripe处理订阅付款。我有一个<select id="s1">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<select id="s2">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<button type="button" id="btn">filter</button>
处理用户输入其信用卡信息的时间。 Stripe创建一个用户,并将订阅附加到该用户。 Stripe gem处理这些网络请求。但是,如果Stripe在创建用户或附加订阅的请求中的任何时候遇到错误,我想呈现一个json错误。有没有办法处理来自gems的网络请求中的错误?
payments_controller.rb
PaymentsController
答案 0 :(得分:1)
是的,但是您将需要根据文档中此处抛出的错误类型手动进行处理
https://stripe.com/docs/api/ruby#error_handling
处理任何条带错误的内联方法是将调用包装在begin块中,并在救援部分返回render json:。
// render an error if there is an issue creating a customer
begin
customer = Stripe::Customer.create({
email: current_user.email,
source: request.params[:id]
})
rescue ::Stripe::StripeError => e
render json: { 'error': 'some error'}
return
end
更一般地说,您可以将该逻辑包装在proc中,然后调用该逻辑,以便在返回时退出上下文。