prepare( "SELECT * FROM `paymentsLogSyria` WHERE user_id = :user_id AND status = 1 AND updated_at >= DATE_SUB(NOW(), INTERVAL 5 MINUTE) ORDER BY updated_at DESC LIMIT 1" ); $stmt->bindParam(':user_id', $userId, PDO::PARAM_STR); $stmt->execute(); $payment = $stmt->fetch(PDO::FETCH_ASSOC); if (!$payment) { printFailure("لم يتم العثور على دفعة ناجحة حديثة."); exit; } // خطوة 2: الحصول على المبلغ (لا يحتاج للقسمة على 100) $amount = $payment['amount']; // خطوة 3: حساب المكافأة $finalAmount = calculateBonus($amount); // استخدم دالة حساب المكافآت الخاصة بك $passengerId = $userId; // نفترض أن معرّف المستخدم هو نفسه معرّف الراكب // --- هنا تضع نفس منطق إضافة الرصيد الذي كان في ملف payment_verify.php القديم --- // (مثال) // $token = generatePaymentToken($passengerId, $finalAmount); // addToPassengerWallet($passengerId, $finalAmount, $token); // ... إلخ // --- النجاح النهائي --- printSuccess("تمت معالجة الدفع وتحديث الرصيد بنجاح."); } catch (PDOException $e) { error_log("Finalize Payment Error: " . $e->getMessage()); printFailure("حدث خطأ في قاعدة البيانات أثناء إتمام العملية."); } // --- يمكنك وضع دوال المساعدة هنا (calculateBonus, etc.) --- function calculateBonus($amount) { $result = $amount; if ($amount == 500) return 530; if ($amount == 1000) return 1070; if ($amount == 2000) return 2180; if ($amount == 5000) return 5700; return $result; } ?>