fix financials
Tests / PHPUnit (push) Failing after 1m21s

This commit is contained in:
root
2026-07-18 22:57:40 -04:00
parent 068e739408
commit a30c1398a1
61 changed files with 10908 additions and 1775 deletions
+59 -1
View File
@@ -4,9 +4,13 @@ namespace App\Libraries;
final class FinancialStatus
{
public const INVOICE_DRAFT = 'draft';
public const INVOICE_ISSUED = 'issued';
public const INVOICE_UNPAID = 'unpaid';
public const INVOICE_PARTIALLY_PAID = 'partially_paid';
public const INVOICE_PAID = 'paid';
public const INVOICE_CREDITED = 'credited';
public const INVOICE_VOIDED = 'voided';
public const INVOICE_OVERPAID = 'overpaid';
public const INVOICE_CANCELLED = 'cancelled';
@@ -29,24 +33,59 @@ final class FinancialStatus
self::PAYMENT_CHARGEBACK,
];
public const VALID_PAYMENT_STATUSES = [
self::PAYMENT_RECORDED,
'successful',
'completed',
'paid',
'Successful',
'Completed',
'Paid',
];
public const INVOICE_STATUSES = [
self::INVOICE_UNPAID,
self::INVOICE_DRAFT,
self::INVOICE_ISSUED,
self::INVOICE_PARTIALLY_PAID,
self::INVOICE_PAID,
self::INVOICE_CREDITED,
self::INVOICE_VOIDED,
self::INVOICE_OVERPAID,
self::INVOICE_CANCELLED,
];
public const REFUND_REQUESTED = 'requested';
public const REFUND_PENDING = 'pending';
public const REFUND_APPROVED = 'approved';
public const REFUND_REJECTED = 'rejected';
public const REFUND_PARTIALLY_PAID = 'partially_paid';
public const REFUND_PAID = 'paid';
public const REFUND_CANCELLED = 'cancelled';
public const REFUND_REVERSED = 'reversed';
public const REFUND_EXCEPTION = 'exception';
public const REFUND_VOIDED = 'voided';
public const REIMBURSEMENT_PENDING = 'pending';
public const REIMBURSEMENT_APPROVED = 'approved';
public const REIMBURSEMENT_PAID = 'paid';
public const REIMBURSEMENT_REJECTED = 'rejected';
public const REIMBURSEMENT_REVERSED = 'reversed';
public const REIMBURSEMENT_STATUSES = [
self::REIMBURSEMENT_PENDING,
self::REIMBURSEMENT_APPROVED,
self::REIMBURSEMENT_PAID,
self::REIMBURSEMENT_REJECTED,
self::REIMBURSEMENT_REVERSED,
];
public const ADDITIONAL_CHARGE_PENDING = 'pending';
public const ADDITIONAL_CHARGE_APPROVED = 'approved';
public const ADDITIONAL_CHARGE_APPLIED = 'applied';
public const ADDITIONAL_CHARGE_REJECTED = 'rejected';
public const ADDITIONAL_CHARGE_VOIDED = 'voided';
public const ADDITIONAL_CHARGE_REVERSED = 'reversed';
public const EXCLUDED_PAYMENT_STATUSES = [
self::PAYMENT_VOIDED,
@@ -74,6 +113,10 @@ final class FinancialStatus
return match (self::normalize($status)) {
'paid', 'full' => self::INVOICE_PAID,
'partially paid', 'partially_paid', 'partial' => self::INVOICE_PARTIALLY_PAID,
'draft' => self::INVOICE_DRAFT,
'issued' => self::INVOICE_ISSUED,
'credited' => self::INVOICE_CREDITED,
'void', 'voided' => self::INVOICE_VOIDED,
'overpaid' => self::INVOICE_OVERPAID,
'cancelled', 'canceled', 'cancelled invoice', 'canceled invoice' => self::INVOICE_CANCELLED,
default => self::INVOICE_UNPAID,
@@ -103,8 +146,23 @@ final class FinancialStatus
'rejected' => self::REFUND_REJECTED,
'partial', 'partially paid', 'partially_paid' => self::REFUND_PARTIALLY_PAID,
'paid', 'full' => self::REFUND_PAID,
'requested', 'pending' => self::REFUND_REQUESTED,
'cancelled', 'canceled' => self::REFUND_CANCELLED,
'reversed' => self::REFUND_REVERSED,
'exception' => self::REFUND_EXCEPTION,
'void', 'voided' => self::REFUND_VOIDED,
default => self::REFUND_PENDING,
default => self::REFUND_REQUESTED,
};
}
public static function normalizeReimbursementStatus(?string $status): string
{
return match (self::normalize($status)) {
'approved' => self::REIMBURSEMENT_APPROVED,
'paid' => self::REIMBURSEMENT_PAID,
'rejected', 'denied' => self::REIMBURSEMENT_REJECTED,
'reversed' => self::REIMBURSEMENT_REVERSED,
default => self::REIMBURSEMENT_PENDING,
};
}