订阅的条带取消不起作用Django
我正在尝试创建取消页面以删除订阅。但是,它不起作用。在这种情况下,当我尝试调用stripeapi时,我找不到客户 我认为客户和订阅正在创建中,至少收费正在进行中 下面是我在views.py中创建订阅的位置:订阅的条带取消不起作用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('
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
。然后将其传递给客户。检索构造函数。