我正在使用Stripe,我想确保当用户在我的网站上删除他或她的帐户时,会自动从Stripe中删除用户的信息和订阅。现在,在我的用户控制器中,我有以下代码用于销毁操作:
def destroy
User.find(params[:id]).destroy
flash[:success] = "Your account has been deleted."
redirect_to root_path
end
在Stripe的网站上,他们有以下代码来删除订阅订阅的客户:
cu = Stripe::Customer.retrieve("cus_IzJx2FQ7r13IOk")
cu.delete
我想要做的是将该代码放在我的rails应用程序中的destroy操作中。我不确定如何从Stripe中正确检索与即将删除的客户ID相关的客户ID。我的客户的Stripe id设置为stripe_customer_token,stripe_customer_token的值存储在我的数据库中。你可以给我设置这个功能的任何帮助都很棒!
答案 0 :(得分:0)
您可以先删除Stripe关联,而不是直接销毁用户实例,如下所示。
def destroy
@user = User.find(params[:id])
cu = Stripe::Customer.retrieve(@user.stripe_customer_token)
cu.delete
@user.destroy
flash[:success] = "Your account has been deleted."
redirect_to root_path
end