GH GambleHub

تسوية مدفوعات وتقارير شعبة القطاع الخاص

TL; د

التسوية هي الخياطة الآلية اليومية لدفتر الأستاذ والأحداث (auth/capture/refund/payout) مع تقارير PSP/المشتري/البنك. مفتاح النجاح: نموذج بيانات واحد، ومفاتيح مطابقة حتمية، وخصوصية صارمة، ومجموع/FX/تحمل الوقت، وطابور DLQ للحالات المثيرة للجدل، وكتب لعب التصحيح التلقائي. KPI: Recon Mismatch Rate↓، Aging of Unreconciled↓، Auto- match%↑.

1) لماذا وماذا نتحقق

الأهداف: تأكيد الإيرادات والعمولات، والكشف عن الازدواجية/الخسائر، والتسوية الصحيحة حسب الأيام والعملات، والرقابة على رد الأموال إلى المصدر، والامتثال لمراجعة الحسابات/المنظم.

أهداف المصالحة:
  • الودائع: «auth → capture → settle»
  • المبالغ المستردة: كاملة/جزئية، والحالات والمبالغ
  • المدفوعات/السحوبات: مدفوعات الطريقة المنتهية ولايتها
  • الرسوم والتعديلات: رسوم PSP، مخططات التبادل، التصحيحات
  • استرداد التكاليف/النزاعات: ما وراء مبادرتك
  • FX/التحويلات: الأسعار والفروق ونقطة التثبيت

2) مصادر البيانات

الأحداث الداخلية: حافلة الأحداث/كافكا، «المدفوعات _ شقة»، «المبالغ المستردة»، «المدفوعات»، دفتر الأستاذ الخاص بك.

تقارير PSP (SFTP/API/webhook distruck):
  • المعاملات (البيانات التشغيلية)
  • المستوطنات/الدفعات
  • الرسوم/البيانات
  • استرداد التكاليف/المنازعات
  • سجلات المدفوعات/OCT/RTP/SEPA
  • البيانات المصرفية: CAMT MT940/CSV/ISO20022، رفع الائتمان.
💡 التخزين: الهبوط → الخام → طبيعي → مطابق. جميع الملفات الواردة - مع الشيكات والإصدار.

3) مطابقة المفاتيح

شجرة المفتاح ذات الأولوية (نازلة في الدقة):

1. provider_txid ↔ provider_txid (معرف PSP فريد)

2. idempotency_key/ merchant_reference (إذا كانت مستقرة في PSP)

3. (المبلغ، العملة، timestamp_bucket، auth_code)

4. الطبقة الغامضة: تحملات ± حسب المجموع/الوقت، BIN/بلد المصدر، عائلة الوضع

التوصيات:
  • احتفظ بكل من "pay _ id" و "provider _ txid'.
  • بالنسبة للاسترداد الجزئي/الاسترداد، أضف "equence _ index" أو "refund _ line _ id'.
  • مدفوعات Для - 'payout _ batch _ id + line_id'.
  • بالنسبة للعملات الأجنبية - 'exec _ id' (التحويل) ومصدر السعر.

4) نموذج البيانات (طبقة طبيعية)

json
{
"source": "INTERNAL    PSP_TX    PSP_SETTLEMENT    BANK",
"provider": "Acquirer_A",
"payment_id": "pay_123",
"provider_txid": "psp_tx_789",
"kind": "AUTH    CAPTURE    REFUND    PAYOUT    FEE    SETTLEMENT    CHARGEBACK",
"sequence": 0,
"amount": 100. 00,
"currency": "EUR",
"fee_amount": 1. 20,
"fx_rate": 1. 0000,
"fx_src": "PSP    ECB    BANK",
"status": "APPROVED    CAPTURED    SUCCESS    FAILED    SETTLED",
"event_ts": "2025-11-03T12:00:00Z",
"settlement_date": "2025-11-05",
"account": "PSP_MERCHANT_CARD_A",
"matching_keys": {
"provider_txid": "psp_tx_789",
"merchant_ref": "mr_456",
"idem_key": "idem_abc"
},
"hash_row": "sha256(...)"
}

5) عملية المصالحة (ETL/Orchestration)

1. Inster: نأخذ تقارير PSP (SFTP/API)، ونتحقق من صحة المخطط/التوقيعات، باستثناء «الخام».
2. تطبيع: خريطة المجال إلى الشكل الموحد (العملة ISO، الكسور العشرية، المنطقة الزمنية بالتوقيت العالمي المنسق).
3. تطابق: خوارزمية لمطابقة شجرة المفتاح مع التحمل.
4. بعد المباراة: نموذج diff (التناقضات) وإدخالات يومية لدفتر الأستاذ/التصحيحات.
5. التسوية: غرزة «PSP _ SETTLEMENT ↔ BANK» (الأرصدة الدائنة للحساب)، مبعثرة يوميًا/دفعة.
6. التقرير: لوحة المتابعة، التنبيهات ؛ مثير للجدل في DLQ للتحليل اليدوي/إعادة التشغيل التلقائي.

Idempotence: for every file/page - 'infest _ id'. إعادة التحميل لا يغير النتيجة.

6) التسامح والقواعد

الوقت: «± 15 دقيقة» للمعاملات، «يوم ± 1» للتسوية.
المبلغ: '≤ 0. 01 "العملة الأساسية أو" ≤ 10 نقاط أساس "للفروق في العملات الأجنبية/الرسوم.
FX: نسمح بالتباين مع البنك إذا كان مصدر سعر الصرف مختلفًا ؛ إصلاح 'fx _ src'.
جزئي/متعدد: يجب أن يساوي مجموع الخطوط الجزئية/المستردة الرصيد الداخلي.

7) تصنيف Diff

نوع ديفالوصفالعمل
MISSING_INTERNALPSP لديه، نحن لاقم بإنشاء علبة يتيمة، وتحقق من خطوط الويب/إعادة التصوير
MISSING_PSPلدينا، PSP لم يفعلتحقق من الحالة/تكرار، اتصال PSP
AMOUNT_MISMATCHالمبالغ تختلف> التسامحAutocorrect/Log، Escalate حسب الحاجة
FEE_MISMATCHتختلف اللجانقبول PSP على أنه «صحيح» (سياسة) أو طلب ملاحظة ائتمانية
STATUS_DRIFTالتقاط معنا، AUTH مع PSPتحقق من خطابات الويب الخاصة بالتقاط/تسوية
تكرارخطوط مكررةDedup بواسطة «المزود _ txid/idempotency _ key»
FX_DRIFTتباين الدوراتحدد المصدر الرسمي، اضبط P&L
REFUND_OVERاسترداد> تم التقاطهوحدة عاجلة، تحليل يدوي، سجل تصحيح عكسي

8) دفتر الأستاذ والمحاسبة

التقاط: «حسابات DR Agency/CR Revenue» и «DR Cash (عند التسوية )/CR Accountable»

الرسوم: «رسوم DR/CR Cash أو Payable»

استرداد الأموال: النشر العكسي الجزئي التناسبي

رد التكاليف: حسابات منفصلة واحتياطي للنزاعات

إعادة النظر في العملات الأجنبية: إعادة التقييم اليومية لرصيد AR/cache عند 'fx _ src _ policy'

9) مؤشرات الأداء الرئيسية والأهداف

التطابق التلقائي% = خطوط التطابق التلقائي/جميع الخطوط (95% ≥ الهدف)

معدل عدم التطابق = خطوط diff/جميع الخطوط (≤ 1-2٪)

شيخوخة غير مصالحة: p50/p95 يومًا في DLQ (p95 ≤ 3 أيام)

وقت التسوية: نسبة الدفعات المخيطة ببنك D-day (99٪ ≥)

دقة الرسوم: تناقضات رسوم المزود (≤ 0. 1٪ من معدل الدوران)

حوادث مكررة/يتيمة: تهدف إلى 0

10) شرائح SQL

10. 1 مطابقة provider_txid الأساسية

sql
WITH i AS (
SELECT provider, provider_txid, kind, amount, currency, event_ts
FROM internal_norm
),
p AS (
SELECT provider, provider_txid, kind, amount, currency, event_ts
FROM psp_norm
)
SELECT
COALESCE(i. provider_txid, p. provider_txid) AS txid,
COALESCE(i. provider, p. provider) AS provider,
i.kind AS kind_internal, p. kind AS kind_psp,
i.amount AS amount_internal, p. amount AS amount_psp,
i.currency, p. currency,
CASE
WHEN i.provider_txid IS NULL THEN 'MISSING_INTERNAL'
WHEN p. provider_txid IS NULL THEN 'MISSING_PSP'
WHEN ABS(i. amount - p. amount) > 0. 01 THEN 'AMOUNT_MISMATCH'
ELSE 'MATCHED'
END AS recon_status
FROM i
FULL OUTER JOIN p USING (provider, provider_txid);

10. 2 بنك ↔ التسوية

sql
SELECT s. settlement_date, s. batch_id, s. currency,
s. amount_settled, b. amount_bank,
(b. amount_bank - s. amount_settled) AS diff
FROM psp_settlements s
LEFT JOIN bank_statements b
ON b. value_date = s. settlement_date
AND b. currency = s. currency
AND ABS(b. amount_bank - s. amount_settled) <= 0. 5;

10. 3 شيخوخة DLQ

sql
SELECT diff_type,
COUNT() AS cnt,
PERCENTILE_CONT(0. 5) WITHIN GROUP (ORDER BY AGE(NOW(), created_at)) AS p50_age,
PERCENTILE_CONT(0. 95) WITHIN GROUP (ORDER BY AGE(NOW(), created_at)) AS p95_age
FROM recon_dlq
GROUP BY diff_type
ORDER BY cnt DESC;

11) ميزات على القضبان/الحالات

الخرائط: الاختلافات بين «auth» و «capture»، وتعديلات «التسوية المتأخرة»، ورسوم التبادل/الدائرة - خطوط منفصلة.
A2A/Open المصرفية/RTP: تأكيدات فورية، ولكن «عكس» ممكن ؛ تحقق من «المدفوعات» والعائدات.
المحافظ: غالبًا ما تكون «مزود _ تكسيد» مثالية، و «استرداد» سريع ؛ راقب خطوط الرسوم.
القسائم: لا يوجد استرداد متماثل - انعكس بشكل صحيح في السياسة والتقارير.
التشفير: التجزئة على السلسلة ↔ provider_txid; والتأكيد نون ؛ وحساب عمولات الشبكات والحسومات الممكنة ؛ سعر الصرف - وقت التحويل.

12) كتب اللعب التشغيلية

زيادة في MISSING_INTERNAL: التحقق من فقدان خطافات الويب/إعادة التصوير، إعادة الابتلاع، تمكين اقتراع API.
AMOUNT_MISMATCH من ضريبة القيمة المضافة: قارن نموذج التقريب/ضريبة القيمة المضافة/الرسوم، اطلب بيان تصحيح.
التسوية لا ترتبط بالمصرف: تاريخ قيمة الشيك، الرسوم المصرفية، تأخيرات T + N ؛ وضع مؤقتا في «حساب التشويق».
REFUND_OVER الشامل: التوقف الفوري للتجديد التلقائي، تدقيق الخصوصية، التصحيح اليدوي.
FX_DRIFT: إصلاح سياسة مصدر سعر الصرف (ECB/PSP/BANK)، وإعادة حساب الفروق في أسعار الصرف والشراء.

13) المراقبة والسلامة

Idempotence of injestion: 'file _ id + checksum' and download history.
الوصول (RBAC) والتحكم بأربع عيون: للتصحيحات اليدوية/إدخالات اليومية.
مسار التدقيق: جميع المطابقات/الاختلافات/التصحيحات - في سجل غير قابل للتغيير.
جودة البيانات: المخططات، والمجالات الإلزامية، والتحقق من العملة/النطاق.

14) لوحة القيادة والتنبيهات

Widgets: Auto-match٪، معدل عدم التطابق، Aging DLQ، توقيت التسوية، دقة الرسوم، أعلى PSP عن طريق diff، خريطة من نوع diff.

تنبيهات:
  • «المباراة التلقائية٪ <90٪» حسب المزود/اليوم → P1
  • «الشيخوخة p95> 3 أيام» → P2
  • «المبلغ _ ارتفاع ميسماتش» → P1
  • 'Bank≠Settlement' حسب المبلغ/العملة →

15) حالات الاختبار (UAT/Prod)

1. إعادة تحميل نفس الملف → 0 الآثار الجانبية (الخصوصية).
2. تحسينات جزئية (3 خطوط) → مباريات الكمية، تطابق بالتسلسل.
3. تحويل العملات الأجنبية: تباين أسعار الصرف في التسامح → التطابق الصحيح.
4. تكرار provider_txid في التقرير → التخلص واليقظة.
5. تم التقاط الخطاف المفقود → وسد الاقتراع الفجوة، وتم مواءمة الوضع.
6. دفعة التسوية مع خط الرسوم → التوزيع الصحيح للإيرادات/الرسوم/الصافي.

16) الأخطاء المتكررة وكيفية تجنبها

قارن "محاولة مقابل" القبض "→ حافظ على نفس الدقة.
عدم وجود «موفر _ تكسيد» في سجل → يفقد دقة المباراة.
تجاهل المنطقة الزمنية → يقابلها تواريخ التسوية.
لا يوجد DLQ/retras → التناقضات «الأبدية».
تعديلات يدوية بدون سجل → عدم الاتساق مع مراجعة الحسابات.
التسامح الغامض → إما إعادة المباراة أو «كل شيء في DLQ».

17) قائمة التنفيذ المرجعية

  • مخطط التطبيع الموحد ودلائل PSP/الطريقة/الحساب
  • رسم خرائط الشجرة الرئيسية (txid → merchant_ref → غامض)
  • المبلغ/تحمل الوقت/العملات الأجنبية، سياسة مصدر الدورة
  • الابتلاع اللطيف، DLQ، retrai، التنبيهات
  • التسوية Settlement↔Bank، سياسة الحساب المعلق
  • لوحة المتابعة KPI، التقارير المالية/مراجعة الحسابات
  • كتب اللعب و SLA تحلل حالات diff

موجز

التوفيق هو نظام هندسي: التطبيع، المفاتيح الموثوقة، التسامح، التطابق التلقائي والتصحيحات الشفافة. باستخدام مثل هذا المحيط، تقوم بتثبيت الإيرادات والعمولات، وتقليل «الثقوب السوداء»، وتسريع إغلاق الفترة، ويتم تدقيقها دون ألم: Auto- match%↑، Mismatch↓، Aging↓.

Contact

اتصل بنا

تواصل معنا لأي أسئلة أو دعم.نحن دائمًا جاهزون لمساعدتكم!

Telegram
@Gamble_GC
بدء التكامل

البريد الإلكتروني — إلزامي. تيليغرام أو واتساب — اختياري.

اسمك اختياري
البريد الإلكتروني اختياري
الموضوع اختياري
الرسالة اختياري
Telegram اختياري
@
إذا ذكرت تيليغرام — سنرد عليك هناك أيضًا بالإضافة إلى البريد الإلكتروني.
WhatsApp اختياري
الصيغة: رمز الدولة + الرقم (مثال: +971XXXXXXXXX).

بالنقر على الزر، فإنك توافق على معالجة بياناتك.