Update: 2026-05-09 18:11:10

This commit is contained in:
Hamza-Ayed
2026-05-09 18:11:10 +03:00
parent e1bdda3cbf
commit 0dbf812be4
4 changed files with 127 additions and 63 deletions

View File

@@ -13,6 +13,7 @@ declare(strict_types=1);
use App\Core\Database;
use App\Core\Security;
use App\Core\Validator;
use App\Core\PaymentParser;
$data = Security::sanitize(input());
@@ -37,22 +38,10 @@ $bankReference = trim($data['bank_reference'] ?? '');
$amount = (float)($data['amount'] ?? 0);
$senderName = $data['sender_name'] ?? 'غير معروف';
// Robust Parsing Fallback (for Orange Money / CliQ Jordan)
// Robust Parsing (for Orange Money / CliQ Jordan)
if (empty($bankReference) || $amount <= 0) {
// Try to extract amount: بمبلغ 15 دينار
if (preg_match('/بمبلغ\s+([\d\.]+)\s+دينار/', $rawMessage, $matches)) {
$amount = (float)$matches[1];
}
// Try to extract reference: بالرقم المرجعي JIBA...
if (preg_match('/بالرقم المرجعي\s+([A-Z0-9a-z]+)/', $rawMessage, $matches)) {
$bankReference = $matches[1];
}
// Try to extract sender: من FERAS...
if (preg_match('/من\s+([^من]+)\s+من مزود/', $rawMessage, $matches)) {
$senderName = trim($matches[1]);
}
$bankReference = PaymentParser::extractReference($rawMessage) ?: $bankReference;
$amount = PaymentParser::extractAmount($rawMessage) ?: $amount;
}
if (empty($bankReference) || $amount <= 0) {