订阅的条带取消不起作用Django

订阅的条带取消不起作用Django,django,stripe-payments,subscription,Django,Stripe Payments,Subscription,我正在尝试创建取消页面以删除订阅。但是,它不起作用。在这种情况下,当我尝试调用stripeapi时,我找不到客户 我认为客户和订阅正在创建中,至少收费正在进行中 下面是我在views.py中创建订阅的位置: def charge(request): stripe.api_key = settings.STRIPE_SECRET_KEY if request.method == 'POST': try: token = request.POST.get('

我正在尝试创建取消页面以删除订阅。但是,它不起作用。在这种情况下,当我尝试调用stripeapi时,我找不到客户

我认为客户和订阅正在创建中,至少收费正在进行中

下面是我在views.py中创建订阅的位置:

def charge(request): 
    stripe.api_key = settings.STRIPE_SECRET_KEY
    if request.method == 'POST':
    try:
        token = request.POST.get('stripeToken')
        user = request.user
        plan = 'plan_xxxxxx'
        order_number = X
        customer = stripe.Customer.create(description='Membership', 
            source=token,
            email=user.email, 
            plan=plan)

        charge = stripe.Subscription.create(
            customer=customer.id,
            items=[{'plan': plan}]
            )
    return render(request, 'charge.html')
以下是我尝试取消订阅的位置:

def cancel_subscription(request):
    customer = stripe.Customer.retrieve('request.user.stripe_id')
    customer.cancel_subscription(at_period_end=True)
    return render(request, 'cancel.html')
这是我得到的错误:

Request cus_xxxxxxxx: No such customer: request.user.stripe_id

为什么要将
request.user.stripe\u id
作为字符串传递?正如@dan klasson所指出的,您传递的是
'request.user.stripe\u id'
的字符串文本。去掉这句话的引号,你就可以走了。不,应该是这样的。它当前正在传递客户id-req_WaSiM7HgafPosC。如果删除字符串,则会出现以下错误:“User”对象没有属性“stripe_id”,这是因为您需要将客户id保存到
charge
视图中的用户模型中。比如叫它
stripe\u customer\u id
。然后将其传递给
客户。检索
构造函数。