Files
MathApp/subscription/serializers.py

34 lines
1.2 KiB
Python

from rest_framework import serializers
class PlanSerializer(serializers.Serializer):
id = serializers.CharField()
title = serializers.CharField()
price = serializers.IntegerField()
currency = serializers.CharField(required=False)
popular = serializers.BooleanField()
discountPercent = serializers.IntegerField(required=False)
durationDays = serializers.IntegerField(required=False)
class PlansListResponseSerializer(serializers.Serializer):
plans = PlanSerializer(many=True)
class PurchaseRequestSerializer(serializers.Serializer):
# هدر Idempotency-Key هم روی همین درخواست لازمه (بخش ۴.۳ سند API)؛
# از request.headers خونده می‌شه، نه از بدنه.
planId = serializers.CharField()
paymentMethod = serializers.CharField(required=False, default='zarinpal')
class PurchaseResponseSerializer(serializers.Serializer):
orderId = serializers.CharField()
paymentUrl = serializers.CharField()
class SubscriptionStatusResponseSerializer(serializers.Serializer):
active = serializers.BooleanField()
planId = serializers.CharField(allow_null=True)
expiresAt = serializers.DateTimeField(allow_null=True)