And*_*ndy 5 ruby-on-rails ruby-on-rails-7
对于 Stripe 的新结帐,需要在创建会话后重定向到外部 URL。
def create_checkout_session
Stripe.api_key = "sk_test_"
session = Stripe::Checkout::Session.create({
line_items: [{
price_data: {
currency: 'usd',
product_data: {
name: 'KYC services',
},
unit_amount: 1000,
},
quantity: 1,
}],
mode: 'payment',
# These placeholder URLs will be replaced in a following step.
success_url: 'https://example.com/success',
cancel_url: 'https://example.com/cancel'
})
redirect_to session.url, status: 303, allow_other_host: true
Run Code Online (Sandbox Code Playgroud)
我的redirect_to 没有带我去任何地方,并且终端中没有错误。如果我不包含 ,allow_other_host: true我会收到一条错误消息Unsafe redirect to "https://checkout.stripe.com。
如何在 Rails 7 中强制重定向到外部 URL?为了这个演示应用程序,我不介意漏洞。
小智 6
我在 Rails 7 + Stripe Checkout 中遇到了同样的问题,我相信 Turbolinks 正在拦截并导致重定向在某个地方爆炸。
\n我现在找到了一个解决方法\xc2\xa0\xe2\x80\x94 添加data: { turbo: false }到相应视图的链接或按钮帮助程序为我修复了它。
| 归档时间: |
|
| 查看次数: |
1447 次 |
| 最近记录: |