相关疑难解决方法(0)

在结算周期后显示用户订阅已取消

我正在使用Stripe进行订阅,因此当用户取消订阅时(关闭自动续订),它会保持订阅有效,直到Stripe的结算周期结束.

该操作通过Stripe工作,但我如何设置以便cancelled我的数据库中的列具有相同的效果?目前,如果用户点击取消订阅链接,它会将其cancelled列标记为1.我希望它不会在结算期结束前标记为已取消,因此用户可以继续访问该网站,直到最后一个结算日(我已打开autorenwal)

我已阅读txdavidtx建议.他建议将所有用户标记为在结算周期结束时取消.那种方法不适合我想要完成的任务.

我订阅设置为autorenew.我需要cancel创建一个仅current_user在结算周期结束时标记为已取消的操作.

例如:

用户A在9月27日报名参加月度订阅.用户A决定在12月15日取消订阅.用户A的订阅还剩12天.用户A单击该cancel链接.用户A在其PayPal或Stripe帐户中已取消自动更新和订阅.在我的数据库中,他们的cancelled属性值在12天(12月27日)结束之前不会改变.

如果有人可以提供帮助那就太棒了.

订阅控制器:

  def new
    plan = Plan.find(params[:plan_id])
    @subscription = plan.subscriptions.build
    render layout: 'new_application'
    if params[:PayerID]
      @subscription.paypal_customer_token = params[:PayerID]
      @subscription.paypal_payment_token = params[:token]
      @subscription.email = @subscription.paypal.checkout_details.email
    end
  end

  def create
    @subscription = Subscription.new(params[:subscription])
    if @subscription.save_with_payment
      redirect_to @subscription, :notice => "Thank you for subscribing!"
    else
      render :new
    end
  end

  def show
    @subscription = Subscription.find(params[:id])
    render layout: 'new_application'
  end

  def paypal_checkout
    plan = Plan.find(params[:plan_id]) …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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

标签 统计

ruby-on-rails ×1