enum PaymentState { success, failed, cancelled, processing, unknown, } PaymentState paymentStateFromRaw(String? raw) { final trimmed = (raw ?? '').trim().toUpperCase(); final normalized = trimmed.startsWith('PAYMENT_STATE_') ? trimmed.substring('PAYMENT_STATE_'.length) : trimmed; switch (normalized) { case 'SUCCESS': return PaymentState.success; case 'FAILED': return PaymentState.failed; case 'CANCELLED': return PaymentState.cancelled; case 'PROCESSING': return PaymentState.processing; default: return PaymentState.unknown; } }