如何使用来自 stripe webhook ex) 订阅、django 中的客户的数据更新当前登录用户的字段?

问题描述

import stripe

from django.http import HttpResponse
from django.conf import settings
from django.contrib.auth.decorators import login_required
from django.http.response import JsonResponse 
from django.http import HttpResponse
from django.shortcuts import render
from django.views.decorators.csrf import csrf_exempt
from django.contrib.auth import get_user_model

我需要帮助让当前登录用户更新他们的订阅和客户字段,以获取从 Stripe 返回的内容。任何帮助将不胜感激。

@csrf_exempt
def payment_confirmation_webhook(request):
    endpoint_secret = 'wh***********************'
    payload = request.body
    sig_header = request.Meta['HTTP_STRIPE_SIGNATURE']
    event = None

    try:
        event = stripe.Webhook.construct_event(
        payload,sig_header,endpoint_secret
        )
    except ValueError as e:
        # Invalid payload
        return HttpResponse(status=400)
    except stripe.error.SignatureVerificationError as e:
        # Invalid signature
        return HttpResponse(status=400)

    if event['type'] == 'checkout.session.completed':
        session = event['data']['object']

        subscription = session.get('subscription')
        customer = session.get('customer')
        
    else:
        
        print('Failed')
    
    return HttpResponse(status=200)

我试过了,但我没有要查找的 id,因为它的条纹正在击中端点,所以显然我不能使用 request.user.id

user = get_user_model().objects.get()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)