mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-07-28 09:33:46 +00:00
fix: cover all payment provider statuses in TopUpResult
Add overpaid (PAL24) to PAID_STATUSES, system_fail and refund_paid (Heleket) to FAILED_STATUSES. Harmonize Balance.tsx redirect detection with the same full status sets and case-insensitive matching.
This commit is contained in:
@@ -64,14 +64,32 @@ export default function Balance() {
|
||||
if (paymentHandledRef.current) return;
|
||||
|
||||
const paymentStatus = searchParams.get('payment') || searchParams.get('status');
|
||||
const isSuccess =
|
||||
paymentStatus === 'success' ||
|
||||
paymentStatus === 'paid' ||
|
||||
paymentStatus === 'completed' ||
|
||||
searchParams.get('success') === 'true';
|
||||
const paidSet = new Set([
|
||||
'succeeded',
|
||||
'success',
|
||||
'paid',
|
||||
'paid_over',
|
||||
'overpaid',
|
||||
'completed',
|
||||
'confirmed',
|
||||
'closed',
|
||||
]);
|
||||
const failedSet = new Set([
|
||||
'fail',
|
||||
'failed',
|
||||
'error',
|
||||
'canceled',
|
||||
'cancelled',
|
||||
'declined',
|
||||
'expired',
|
||||
'cancel',
|
||||
'system_fail',
|
||||
'refund_paid',
|
||||
]);
|
||||
|
||||
const isFailed =
|
||||
paymentStatus === 'failed' || paymentStatus === 'error' || paymentStatus === 'canceled';
|
||||
const normalised = paymentStatus?.toLowerCase() ?? '';
|
||||
const isSuccess = paidSet.has(normalised) || searchParams.get('success') === 'true';
|
||||
const isFailed = failedSet.has(normalised);
|
||||
|
||||
if (isSuccess) {
|
||||
paymentHandledRef.current = true;
|
||||
|
||||
@@ -183,6 +183,7 @@ const PAID_STATUSES = new Set([
|
||||
'success',
|
||||
'paid',
|
||||
'paid_over',
|
||||
'overpaid',
|
||||
'completed',
|
||||
'confirmed',
|
||||
'closed',
|
||||
@@ -197,6 +198,8 @@ const FAILED_STATUSES = new Set([
|
||||
'declined',
|
||||
'expired',
|
||||
'cancel',
|
||||
'system_fail',
|
||||
'refund_paid',
|
||||
]);
|
||||
|
||||
function isPaidStatus(status: string): boolean {
|
||||
|
||||
Reference in New Issue
Block a user