gpt4 book ai didi

ruby-on-rails - 检查 Stripe 优惠券是否无效

转载 作者:数据小太阳 更新时间:2023-10-29 08:19:45 25 4
gpt4 key购买 nike

我正在使用 stripe gem for rails,我正在尝试检查用户的优惠券代码是否无效。如果代码无效,则用户将被重定向到 users/show.html.haml

这是我的代码

if Stripe::Coupon.retrieve(current_user.coupon_code) == nil
redirect_to user_path(current_user)
end

我认为从 Stripe 检索代码并检查值是否为 nil 会起作用,但我收到的错误消息是:

Stripe::InvalidRequestError in SubscribersController#new
No such coupon: *Whatever the invalid coupon name is (ex. "ASDF")*

知道这里发生了什么吗?我查看了 Ruby 的 Stripe 文档,但没有看到任何关于如何检查代码是否无效的信息。是否有另一种方法来检查代码是否等于或不等于 nil

最佳答案

如果您传递给 Stripe::Coupon.retrieve(...) 的优惠券 ID 不存在,请求将失败并出现 Stripe::InvalidRequestError 异常将被提高。

因此,您不需要将结果与 nil 进行比较,而是需要在 begin/rescue 中调用 Stripe::Coupon.retrieve(...)/end block 以捕获 Stripe::InvalidRequestError 异常。

您可以在此处找到有关使用 Stripe 的 API 进行错误处理的更多信息:https://stripe.com/docs/api#errors

关于ruby-on-rails - 检查 Stripe 优惠券是否无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37095121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com