صناديق الرمل وبيئات الاختبار
TL; د
صندوق الرمل القوي = العزلة الكاملة، والبيانات الاصطناعية/غير الشخصية، والمحاكاة الواقعية للأنظمة الخارجية، والجوانب التي يمكن التنبؤ بها والسفر عبر الزمن، والخصوصية المدمجة وخطافات الويب، والحدود والمقاييس الشفافة. الطعام - بعيد المنال، المفاتيح - الحفر، الترويج - فقط في قوائم المراجعة.
1) خريطة البيئة وأدوارها
القاعدة: صندوق الرمل ≠ حث. أي اتصال - من خلال أجهزة محاكاة أحادية الاتجاه دون الوصول إلى الوسائل/الألعاب/البيانات الشخصية الحقيقية.
2) البيانات: المواد التركيبية، إخفاء الهوية، الجلوس
المواد الاصطناعية الافتراضية. مولدات بيانات جوازات السفر/البطاقات، والشبكات العامة الصالحة ولكن غير المالية (اختبار BINs)، والأنماط الحية للأسعار والأرصدة.
إخفاء الهوية للمرحلة: ترميز المعرفات، الخصوصية التفاضلية للمجموعات، إزالة التركيبات النادرة.
Sids and detalism: فريق واحد - دولة واحدة.
bash make db-reset && make db-seed ENV=sandbox SEED=2025_11_03
السفر عبر الزمن: «ساعة» عالمية من البيئة لاختبارات الموعد النهائي/انتهاء الصلاحية.
3) محاكاة وسدادات (ستيبس)
المدفوعات/البنوك/PSP
Auth/Capture/Refund/Payout со сценариями: «معتمد»، «رفض _ غير كاف»، «3ds _ مطلوب»، «مهلة»، «مكرر».
خطافات PSP على الويب: وقعت HMAC، وتراجعت، وتأخيرات و «إنترنت قذر».
KYC/AML/الجزاءات
Ответы: "واضح"، "pep _ match"، "panction _ hit'،" doc _ inmatch "،" manual _ review ".
دعم الخصوصية وحدود الأسعار كما هو الحال في prod.
مزودي اللعبة/الكتالوج
لوبي، ميزة، RTP/جولات - توليد عشوائي زائف، «مدفوعات/إخفاقات» خاضعة للرقابة لحالات UX.
الخيار: تبديل «شدة» المحاكاة (مسار سعيد مقابل فوضى).
4) خطافات الويب في صندوق الرمل
HMAC signations (v1), headers' X-Event-Id', 'X-Timestamp', window ≤ 5 دقائق.
إعادة التدوير مع التراجع الأسي و DLQ وإعادة التشغيل.
وحدة التحكم «إعادة» وسجلات المحاولات.
pseudo
POST /psp/webhooks
Headers: X-Signature, X-Timestamp, X-Event-Id
Body: { event_id, type, data, attempt }
5) الفراغ والحتمية
تقبل جميع الطفرات «مفتاح الخصوصية».
تخزن أجهزة المحاكاة النتيجة بالمفتاح (TTL 24-72 h).
«حتمية البذور»: بنفس المدخلات - نفس النتيجة (للاختبارات القابلة للتكرار).
6) الأمن والوصول
عزل الشبكة/VPC، الأسرار والمجالات الفردية ('sandbox. مثال على ذلك. com').
RBAC/ABAC: أدوار «شريك» و «qa» و «dev» و ospreys للرموز ضئيلة.
حدود الأسعار والحصص: الحصة العادلة لكل مستأجر/مفتاح، مفهومة «429 »/« إعادة التجربة بعد».
الأسرار فقط في KMS/Vault ؛ التناوب المنتظم.
حظر المدفوعات الحقيقية على مستوى الكود/التهيئة (كتلة صلبة ترفع علم الميزة).
7) بوابة واجهة برمجة التطبيقات وقابلية الملاحظة في صندوق الرمل
نفس السياسات: OAuth2/OIDC/JWT، CORS، WAF، DDoS profile.
المقاييس: p50/p95/p99، 4xx/5xx، حدود معدل الضرب، خطافات الكمون، الضربات الحمقاء.
الجذوع/المسارات: لا يوجد مؤشر استثمار دولي ؛ الارتباط 'trace _ id'.
لوحة القيادة «Sandbox Health»: وقت التشغيل، قوائم انتظار الويب، أخطاء المحاكاة.
8) تتميز بالأعلام والإصدارات والتوافق
إدراج الميزات في صندوق الرمل → مرحلة →.
SemVer لواجهة برمجة التطبيقات ؛ لافتة الاستنكار/غروب الشمس في Swagger/Redoc sandboxes.
استمرت الاستفسارات عن واجهات متاجر GraphQL (إن وجدت).
9) CI/CD и الترويج
1. بناء/وحدة →
2. عقد/اختبارات صورية (OpenAPI/Protobuf/GraphQL SDL) →
3. التكامل مقابل أجهزة المحاكاة →
4. انحدار المرحلة (اللقطات) →
5. الكناري в حث.
ترويج القائمة المرجعية للبوابة: أدناه في المادة 12.
10) نصوص UAT للشركاء (صندوق رملي)
المدفوعات: auth/capture/retund/payout مع خطوط الويب وأخطاء PSP.
KYC/AML: جميع الحالات + التصعيد اليدوي.
الخصوصية: تكرار «مفتاح الخصوصية» → نفس النتيجة.
حد السعر: التعامل الصحيح مع «429».
النوافذ الزمنية: انتهاء صلاحية الرموز المميزة، «Retry-After»، حالات السفر عبر الزمن.
شبكات الويب: التوقيعات/إعادة التصوير/DLQ، إعادة التشغيل اليدوي والتسريح.
11) سياسة البيانات والخصوصية
لا تخزن أبدًا أرصفة PAN/KYC الحقيقية في صندوق الرمل/المسرح.
إخفاء الهوية: الإخفاء، إزالة محددات الهوية المباشرة، الارتباط الاصطناعي.
تخزين TTL للسجلات وأجسام الشبكات ≤ روتيني.
12) القوائم المرجعية
12. 1 إطلاق صندوق رمل جديد
- شبكة معزولة/قاعدة/مخبأ/تخزين كائن
- الأسرار التي تم إنشاؤها في KMS/Vault، الوصول حسب الدور
- يتم توضيح محاكيات PSP/KYC/اللعبة وتحريرها
- مجموعة Swagger/Redoc + Postman (نقاط نهاية sandbox)
- خطافات الويب: HMAC، إعادة المحاولة، DLQ، وحدة التحكم في إعادة التشغيل
- ملفات تعريف المعدل/الحصص، لافتات الاستنفاد/غروب الشمس (إن وجدت)
- لوحات القيادة والتنبيهات (زمن الوصول، 5xx، 429، DLQ)
12. 2 إصدار الترويج (stage→prod)
- فحوصات العقد (بدون كسر)
- التحميل p95/p99 عادي في المرحلة
- خضعت خطافات الويب لـ UAT، طيب الخصوصية
- تم إعداد أعلام الميزات، وهناك خطة للتراجع
- Changelog ودليل الهجرة والبريد إلى الشركاء
13) أنتيباترن
صندوق رملي يلامس «سرا» خدمات/قواعد بيانات الحث.
بيانات البطاقة الحقيقية/جواز السفر في المرحلة/الصندوق الرملي.
المحاكاة بدون خطافات ويب/ملاذات هي «مسار سعيد» فقط.
لا فطنة → ازدواجية المدفوعات/الرهانات.
سر واحد مشترك لـ HMAC لجميع الشركاء.
لا توجد حدود أو 429/Retry-After شفافة.
14) مقتطفات صغيرة
. صندوق الرمل (مثال)
dotenv
API_BASE=https://sandbox.api.example.com
OAUTH_ISS=https://sandbox.idp.example.com
PSP_SIM_URL=https://sandbox.psp-sim.example.com
KYC_SIM_URL=https://sandbox.kyc-sim.example.com
WEBHOOK_SECRET_ROTATION_DAYS=90
FEATURE_FORCE_SANDBOX_PAYMENTS=1
جزء OpenAPI (خادم صندوق الرمل)
yaml servers:
- url: https://sandbox.api.example.com/v1 description: Public Sandbox
الخصوصية الكاذبة
pseudo if store.exists(idem_key): return store.get(idem_key)
res = do_business()
store.set(idem_key, res, ttl=72h)
return res
مشغلات محاكاة PSP
json
{ "scenario": "payout", "case": "declined_insufficient", "payout_id": "p_123" }
15) إمكانية رصد Sandbox و SLO
Uptime sandbox API ≥ 99. 5٪ (يجب ألا ينخفض عرض التكامل).
خطافات الويب p95 ≤ 3 s إلى 2xx عند الحمل العادي.
خطأ الميزانية 5xx من البوابة ≤ 0. 1%.
بوابة الإرساء متاحة ومتزامنة مع العقد.
16) الحوكمة
مالك البيئة (SRE/Platform) والمضيف API (العقود).
عملية RFC لكسر التغييرات، تقويم Deprecation/Sunset.
حدود/حصص منفصلة وتسعير «الاستخدام العادل» للصندوق الرملي العام.
ملخص السيرة الذاتية
صندوق الرمل هو منتج للمطورين، وليس "نسخة من القاعدة. "أعط: العزلة الصارمة، والبيانات الاصطناعية، وأجهزة المحاكاة الكاملة مع خطافات الويب والمعاودة، والحتمية من خلال الجوانب والسفر عبر الزمن، وتتميز بالأعلام والحدود الشفافة. اربط كل شيء بالعقود وقابلية الملاحظة والحوكمة - وستصبح عمليات التكامل الخاصة بك سريعة وآمنة ويمكن التنبؤ بها، وستصدر بدون ألم.