构建知识付费系统:使用Django框架和Stripe API实现支付功能
    		       		warning:
    		            这篇文章距离上次修改已过430天,其中的内容可能已经有所变动。
    		        
        		                
                
from django.http import JsonResponse
from django.views.decorators.http import require_POST
from django.views.decorators.csrf import csrf_exempt
from stripe.error import StripeError
from stripe.api_helper import stripe_api_key
from .models import UserProfile
 
# 设置Stripe API密钥
stripe_api_key.api_key = "你的Stripe API密钥"
 
@csrf_exempt
@require_POST
def checkout(request):
    token = request.POST.get('token')
    email = request.POST.get('email')
    try:
        # 使用Stripe创建一个Customer,并附上付款信息
        customer = stripe.Customer.create(
            email=email,
            source=token
        )
        # 创建订阅
        subscription = stripe.Subscription.create(
            customer=customer.id,
            items=[{
                "plan": "你的Stripe计划ID",
            }],
        )
        # 更新用户付费状态
        profile = UserProfile.objects.get(user__email=email)
        profile.is_premium = True
        profile.save()
        return JsonResponse({'status': 'success'})
    except StripeError as e:
        return JsonResponse({'error': e.user_message})
    except Exception as e:
        return JsonResponse({'error': str(e)})这段代码示例展示了如何在Django框架中使用Stripe API处理订阅支付。它首先从请求中获取Token和Email,然后使用Stripe创建一个新的Customer并附上付款信息。接着,它创建一个新的订阅,并根据订阅结果更新用户的付费状态。代码中包含了错误处理,如StripeError,以及捕捉其他可能的异常。
评论已关闭