<?php

namespace App\Enums;

enum PaymentStatus: string
{
    case NotRequired = 'not_required';
    case Pending = 'pending';
    case ProofSubmitted = 'proof_submitted';
    case Confirmed = 'confirmed';
    case Rejected = 'rejected';
    case Cancelled = 'cancelled';
    case RefundedManually = 'refunded_manually';

    public function label(): string
    {
        return match ($this) {
            self::NotRequired => __('enums.payment_status.not_required'),
            self::Pending => __('enums.payment_status.pending'),
            self::ProofSubmitted => __('enums.payment_status.proof_submitted'),
            self::Confirmed => __('enums.payment_status.confirmed'),
            self::Rejected => __('enums.payment_status.rejected'),
            self::Cancelled => __('enums.payment_status.cancelled'),
            self::RefundedManually => __('enums.payment_status.refunded_manually'),
        };
    }
}
