The Challenge of SAMA Compliance
Building a payment system in Saudi Arabia requires strict adherence to SAMA (Saudi Central Bank) regulations. This isn't just about checking compliance boxes; it's about architecting a system that fundamentally prevents financial anomalies.
1. Immutable Ledger Design
Traditional CRUD operations are a liability in financial systems. We implemented an Event Sourced Ledger where every financial mutation is an immutable event. This ensures a cryptographically verifiable audit trail.
- No
UPDATEorDELETEstatements on financial records. - Double-entry accounting patterns enforced at the database schema level.
- Point-in-time state reconstruction for SAMA audits.
2. Webhook Reconciliation
Payment gateways (like Moyasar or HyperPay) can experience timeouts. Relying solely on synchronous API responses leads to split-brain scenarios. We use a background worker queue strictly dedicated to webhook reconciliation, ensuring eventual consistency without blocking the main thread.
Conclusion
Compliance is a byproduct of good architecture. By designing for zero-trust and immutability, SAMA compliance becomes an automated guarantee rather than a manual checklist.
تحدي الامتثال لساما (SAMA)
بناء نظام دفع في المملكة العربية السعودية يتطلب التزاماً صارماً بتنظيمات البنك المركزي السعودي (ساما). لا يتعلق الأمر بمجرد استيفاء الشروط؛ بل بتصميم بنية تمنع الشذوذ المالي من الأساس.
1. تصميم الدفتر غير القابل للتغيير (Immutable Ledger)
العمليات التقليدية (CRUD) تعتبر نقطة ضعف في الأنظمة المالية. لقد قمنا بتنفيذ سجل يعتمد على الأحداث (Event Sourced) حيث تكون كل طفرة مالية حدثاً غير قابل للتغيير، مما يضمن مسار تدقيق قابل للتحقق التشفيري.
- لا توجد أوامر
UPDATEأوDELETEعلى السجلات المالية. - يتم فرض أنماط المحاسبة المزدوجة على مستوى هيكل قاعدة البيانات.
- إمكانية إعادة بناء الحالة في أي نقطة زمنية من أجل عمليات تدقيق ساما.
2. مصالحة الـ Webhooks
بوابات الدفع (مثل ميسر أو هايبرباي) قد تواجه انقطاعات. الاعتماد فقط على استجابات API المتزامنة يؤدي إلى سيناريوهات عدم تطابق. نستخدم طابور مهام في الخلفية مخصص بدقة لمصالحة الـ Webhooks، مما يضمن الاتساق النهائي دون حظر سلسلة العمليات الرئيسية.
خاتمة
الامتثال هو نتيجة طبيعية للبنية الجيدة. من خلال التصميم من أجل انعدام الثقة (Zero-Trust) وعدم القابلية للتغيير، يصبح الامتثال لساما ضماناً تلقائياً وليس مجرد قائمة تحقق يدوية.