小编Lis*_*ker的帖子

重定向到 Stripe 结账 URL 时出现 302 响应

在我的 Rails 7 应用程序中,我正在使用订阅模型,因此通过 Stripe API 实现订阅。

请参阅下面的付款方式 (subscriptions_controller.rb),当用户单击“选择计划”按钮时会触发该付款方式。重定向有效,然后无效,然后再次有效;我没有改变订阅的创建方式以及检索 URL 的方式。

def payment
    @subscription = current_user.subscription
    if @subscription
      plan_id = params[:plan_id]
      @subscription.update(id: @subscription.id, plan_id:, user_id: current_user.id, active: true)
    else
      subscription_id = SecureRandom.uuid
      plan_id = params[:plan_id]
      @subscription = Subscription.new(id: subscription_id, plan_id:, user_id: current_user.id)
    end

    @checkout_session = create_checkout_session(@subscription)
    @subscription.checkout_session_id = @checkout_session.id
    @subscription.save!
    redirect_to @checkout_session.url, allow_other_host: true
  end

private

def create_checkout_session(subscription)
    Stripe::Checkout::Session.create({
      customer: current_user.stripe_id,
      payment_method_types: ['card'],
      line_items: [{
        price: subscription.plan.stripe_price_id,
        quantity: 1
      }],
      mode: 'subscription',
      success_url: subscription_url(subscription),
      cancel_url: new_subscription_url
    })
  end
Run Code Online (Sandbox Code Playgroud)

错误信息

  • 在我的终端中,我收到 …

ruby ruby-on-rails stripe-payments ruby-on-rails-7

1
推荐指数
1
解决办法
1153
查看次数