Update: 2026-05-09 18:11:10
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user