وضع الاختبار والوضع الحي

ابنِ تكاملك في وضع الاختبار دون أموال حقيقية، ثم انتقل إلى المفاتيح الحية بعد اعتماد حسابك مستعينًا بقائمة التحقق قبل الإطلاق.

لكل حساب في تيرا باي وضعان منفصلان، وتحدد الوضع بمفتاح الـ API الذي تستخدمه.

الميزةوضع الاختبارالوضع الحي (Live)
المفتاح السريsk_test_…sk_live_…
قيمة livemode في الكائناتfalsetrue
نقل الأمواللانعم
صفحة الدفعصفحة الدفع في تيرا باي مع شارة TEST، متصلة ببيئة الاختبار لدى معالج البطاقات. ادفع ببطاقات الاختبار.الصفحة نفسها بوسائل حقيقية: كي-نت ومدى والبطاقات وApple Pay…
return_url وروابط الـ Webhookhttps:// أو http:// (للتطوير المحلي والأنفاق)https:// فقط
متى يتاحفور التسجيلبعد اعتماد حسابك
الـ Webhooksتُرسل إلى نقاط نهاية وضع الاختبار مع "livemode": falseتُرسل إلى نقاط نهاية الوضع الحي مع "livemode": true

لا تختلط بيانات الوضعين أبدًا. عملية الدفع التي أُنشئت بمفتاح اختبار لا يمكن قراءتها أو استردادها أو عرضها إلا بمفتاح اختبار.

الانتقال إلى الوضع الحي

يتطلب الوضع الحي حسابًا معتمدًا. قبل الاعتماد، تعيد الطلبات الحية رمز الحالة 403 مع الخطأ التالي:

{
  "error": {
    "code": "merchant_not_active",
    "message": "Live payments are available once your account is activated."
  }
}

أكمل التسجيل

افتح التسجيل في لوحة التحكم وأدخل بيانات نشاطك التجاري والشخص المسؤول وحسابك البنكي، ثم ارفع المستندات المطلوبة (مثل البطاقة المدنية والرخصة التجارية وخطاب البنك، حسب نوع نشاطك) وأرسل الطلب للمراجعة.

انتظر الاعتماد

يراجع فريق تيرا باي طلبك. إذا نقصت معلومات، سيُطلب منك استكمالها في لوحة التحكم. عند اعتماد الحساب تصبح حالته نشط.

أنشئ مفتاحًا حيًا وانتقل إليه

أنشئ مفتاحًا في الوضع الحي من المطورون ← مفاتيح API (ستؤكده بكلمة مرورك)، واستبدل sk_test_… بـ sk_live_… في إعدادات الإنتاج.

أضف نقطة Webhook حية

سجّل رابط الـ Webhook الخاص بالإنتاج بالمفتاح الحي (أو من لوحة التحكم في الوضع الحي) واحفظ سر التوقيع الخاص به. راجع الـ Webhooks.

الوضع الحي يتطلب HTTPS

في الوضع الحي، يجب أن يبدأ كل رابط تقدّمه لتيرا باي بـ https://:

  • return_url عند إنشاء عملية دفع؛
  • url لنقطة نهاية الـ Webhook.

يُرفض الرابط الذي يبدأ بـ http:// بالخطأ 422 validation_error:

{
  "error": {
    "code": "validation_error",
    "message": "The return_url must use https:// in live mode.",
    "details": { "fields": { "return_url": "must use https:// in live mode" } }
  }
}

يقبل وضع الاختبار http:// لتستخدم localhost أو نفقًا أثناء التطوير. أما روابط الدفع فلا تحمل رابطًا خاصًا بالتاجر، لذا لا يشملها هذا الشرط.

قائمة التحقق قبل الإطلاق

راجع هذه القائمة قبل أن تنقل إعدادات الإنتاج إلى sk_live_….

المدفوعات

  • يتأكد خادمك من كل عملية دفع عبر GET /v1/payments/:id أو Webhook تم التحقق منه، ولا يعتمد على إعادة التوجيه وحدها (معالجة رابط العودة).
  • تتحقق صفحة العودة من تطابق amount وcurrency وreference (أو الـ id المحفوظ) مع الطلب قبل تعليمه مدفوعًا.
  • تعليم الطلب مدفوعًا آمن من التكرار: قد تصل صفحة العودة والـ Webhook كلاهما وبأي ترتيب.
  • لا يُغلق payment.failed أو payment.canceled الطلب نهائيًا: يظل بإمكان العميل الدفع عبر checkout_url نفسه حتى expires_at (المدفوعات).
  • تُرسل المبالغ أعدادًا صحيحة بالوحدات الصغرى وفق المنازل العشرية الصحيحة، خاصة مع KWD وBHD وOMR وJOD (المبالغ والعملات).
  • يستخدم return_url البروتوكول https://.

الـ Webhooks

  • سُجّلت نقطة Webhook حية برابط https:// يمكن الوصول إليه من الإنترنت، وحُفظ سر التوقيع الحي على خادمك.
  • يتم التحقق من التواقيع على الجسم الخام مع مهلة 5 دقائق، وتُتجاهل الأحداث المكررة حسب Teyra-Event-Id (التحقق من التواقيع).
  • تردّ نقطة النهاية برمز 2xx خلال 10 ثوانٍ وتنفّذ الأعمال البطيئة في الخلفية.
  • هناك من يتابع عمليات التسليم الفاشلة في المطورون ← Webhooks.

طلبات الـ API

  • تحمل طلبات POST الترويسة Idempotency-Key، وتعيد المحاولات استخدامها (منع التكرار).
  • تُعالج الأخطاء وتُسجّل حسب error.code (الأخطاء).
  • يُعاد إرسال الاستجابات 429 rate_limited و5xx بتأخير متصاعد مع احترام Retry-After (المصادقة).
  • تُتجاهل الحقول وأنواع الأحداث ورموز الأخطاء غير المعروفة بدل اعتبارها أعطالًا.

المفاتيح والأمان

  • المفتاح السري الحي محفوظ على خادمك فقط، في مخزن أسرار أو متغير بيئة، وليس في متصفح أو تطبيق أو مستودع (المصادقة).
  • لكل نظام (الموقع، نظام ERP، الإضافة) مفتاحه الخاص، لتستطيع إلغاء أحدها دون التأثير على الباقي.
  • ساعة خادمك متزامنة عبر NTP.
  • لأعضاء فريقك في حساب تيرا باي الأدوار التي يحتاجونها فقط، مع تفعيل المصادقة الثنائية.

الفحص الأخير

  • تنجح كل سيناريوهات الاختبار في وضع الاختبار.
  • بعد الانتقال، نفّذ دفعة حية صغيرة ببطاقة حقيقية، وتأكد منها من البداية إلى النهاية (صفحة العودة والـ Webhook ولوحة التحكم)، ثم استردها.