Available Balance
₹
Total Earned: ₹ | Redeemed: ₹
Request New Redemption
Redemption History
| Request ID | Date | Amount | UPI ID | Status | Processed |
|---|---|---|---|---|---|
| ₹ |
by - |
$partner['commission_balance']) { $errors[] = 'Insufficient balance. Your current balance is ₹' . number_format($partner['commission_balance'], 2); } elseif (empty($upiId)) { $errors[] = 'Please enter your UPI ID.'; } elseif (!preg_match('/^[\w\.\-]+@[\w\.\-]+$/', $upiId)) { $errors[] = 'Please enter a valid UPI ID.'; } else { try { $pdo = getPartnerDBConnection(); $pdo->beginTransaction(); $requestId = 'PRRD' . date('Ymd') . sprintf('%04d', mt_rand(1000, 9999)); $stmt = $pdo->prepare("INSERT INTO partner_redemptions (affiliate_id, request_id, amount, upi_id, status) VALUES (?, ?, ?, ?, 'pending')"); $stmt->execute([$partner['id'], $requestId, $amount, $upiId]); $pdo->commit(); $success_message = 'Redemption request submitted successfully! Request ID: ' . $requestId; logPartnerActivity('Redemption requested', ['partner_id' => $partner['id'], 'request_id' => $requestId, 'amount' => $amount]); } catch (Exception $e) { $pdo->rollBack(); $errors[] = 'Error processing your request. Please try again.'; logPartnerActivity('Redemption request error', ['partner_id' => $partner['id'], 'error' => $e->getMessage()]); } } } // Get redemption history try { $pdo = getPartnerDBConnection(); $stmt = $pdo->prepare("SELECT pr.*, au.full_name as processed_by_name FROM partner_redemptions pr LEFT JOIN admin_users au ON pr.processed_by = au.id WHERE pr.affiliate_id = ? ORDER BY pr.created_at DESC"); $stmt->execute([$partner['id']]); $redemptions = $stmt->fetchAll(); } catch (Exception $e) { $redemptions = []; } ?>
Total Earned: ₹ | Redeemed: ₹
| Request ID | Date | Amount | UPI ID | Status | Processed |
|---|---|---|---|---|---|
| ₹ |
by - |