from rest_framework import serializers from finance.models import Invoice, Payment class InvoiceSerializer(serializers.ModelSerializer): class Meta: model = Invoice fields = [ "id", "provider", "status", "currency", "amount_due", "amount_paid", "period_start", "period_end", "stripe_invoice_id", "stripe_checkout_session_id", "stripe_subscription_id", "hosted_invoice_url", "description", "created", "last_modified", ] read_only_fields = fields class PaymentSerializer(serializers.ModelSerializer): class Meta: model = Payment fields = [ "id", "invoice", "provider", "status", "currency", "amount", "stripe_payment_intent_id", "stripe_charge_id", "paid_at", "failure_message", "created", "last_modified", ] read_only_fields = fields class CheckoutSessionSerializer(serializers.Serializer): success_url = serializers.URLField(required=False, allow_blank=False) cancel_url = serializers.URLField(required=False, allow_blank=False)