inital commit
This commit is contained in:
46
payment/serializers.py
Normal file
46
payment/serializers.py
Normal file
@@ -0,0 +1,46 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from .models import PaymentRecord, WebhookEvent
|
||||
|
||||
|
||||
class PaymentRecordSerializer(serializers.ModelSerializer):
|
||||
booking_id = serializers.IntegerField(source="booking.id", read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = PaymentRecord
|
||||
fields = (
|
||||
"id",
|
||||
"booking_id",
|
||||
"stripe_payment_intent_id",
|
||||
"stripe_charge_id",
|
||||
"amount",
|
||||
"currency",
|
||||
"status",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
)
|
||||
|
||||
|
||||
class CreatePaymentIntentSerializer(serializers.Serializer):
|
||||
booking_id = serializers.IntegerField()
|
||||
currency = serializers.CharField(required=False, default="usd", max_length=8)
|
||||
|
||||
|
||||
class MockWebhookSerializer(serializers.Serializer):
|
||||
stripe_event_id = serializers.CharField(max_length=255)
|
||||
event_type = serializers.ChoiceField(
|
||||
choices=(
|
||||
"payment_intent.processing",
|
||||
"payment_intent.succeeded",
|
||||
"payment_intent.payment_failed",
|
||||
"charge.refunded",
|
||||
)
|
||||
)
|
||||
stripe_payment_intent_id = serializers.CharField(max_length=255)
|
||||
payload = serializers.JSONField(required=False, default=dict)
|
||||
|
||||
|
||||
class WebhookEventSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = WebhookEvent
|
||||
fields = ("id", "stripe_event_id", "event_type", "processed", "processed_at", "created_at")
|
||||
Reference in New Issue
Block a user