Tesis 1.0.0
Loading...
Searching...
No Matches
serializers.py
Go to the documentation of this file.
1from rest_framework import serializers
2from .models import PaymentRequest, PaymentNotification
3
4class PaymentRequestSerializer(serializers.ModelSerializer):
5 class Meta:
6 model = PaymentRequest
7 fields = ['id', 'preference_id', 'init_point', 'status', 'total_amount', 'created_at']
8 read_only_fields = ['id', 'preference_id', 'init_point', 'status', 'total_amount', 'created_at']
9
10class CreatePreferenceSerializer(serializers.Serializer):
11 user_token = serializers.CharField(max_length=255, required=True,
12 help_text="Token de autenticación del usuario")
13 email = serializers.EmailField(required=False, allow_blank=True,
14 help_text="Email del usuario (opcional)")
15
16class WebhookNotificationSerializer(serializers.Serializer):
17 topic = serializers.CharField(required=False, allow_blank=True)
18 id = serializers.CharField(required=False, allow_blank=True)
19 data = serializers.JSONField(required=False)
20
21 # Campos específicos para IPN V1
22 resource = serializers.CharField(required=False, allow_blank=True)
23 action = serializers.CharField(required=False, allow_blank=True)
24
25 # Campo para manejar las notificaciones directas
26 type = serializers.CharField(required=False, allow_blank=True)