الاختبار

اختبر تكاملك من البداية إلى النهاية بمفاتيح الاختبار وصفحة الدفع التجريبية وبطاقات الاختبار، دون نقل أموال حقيقية.

يمكنك اختبار كل ما تبنيه قبل اعتماد حسابك. استخدم مفتاح اختبار سريًا (sk_test_…): تعمل المدفوعات والاستردادات وروابط الدفع والـ Webhooks كما في الوضع الحي، لكن دون نقل أي أموال، ويحمل كل كائن القيمة "livemode": false. راجع وضع الاختبار والوضع الحي.

صفحة الدفع التجريبية

في وضع الاختبار، يفتح checkout_url صفحة الدفع نفسها التي سيراها عملاؤك في الوضع الحي، مع شارة TEST وعبارة تفيد بأنه وضع اختبار لا تُنقل فيه أموال حقيقية. حقول البطاقة الآمنة متصلة ببيئة الاختبار لدى معالج البطاقات، لذا لا تعمل فيها إلا بطاقات الاختبار.

ما تفعله في الصفحةالنتيجةيُوجَّه العميل إلىالـ Webhook
الدفع ببطاقة اختبار ناجحةتصبح status بالقيمة succeeded وتُحدَّد paid_atreturn_url?payment_id=…&status=succeededpayment.succeeded
الدفع ببطاقة اختبار مرفوضةتصبح status بالقيمة failed مع failure_code وfailure_messagereturn_url?payment_id=…&status=failedpayment.failed
الضغط على إلغاء (Cancel)تصبح status بالقيمة canceledreturn_url?payment_id=…&status=failedpayment.canceled

تعود العملية الملغاة بالقيمة status=failed في إعادة التوجيه، لأن إعادة التوجيه لا تحمل إلا succeeded أو failed أو processing. يقرأ خادمك الحالة الدقيقة (canceled) من GET /v1/payments/:id.

يظل بالإمكان دفع العملية الفاشلة أو الملغاة عبر checkout_url نفسه حتى expires_at، لذا قد يليَ إشعارَ payment.failed إشعارُ payment.succeeded. راجع المدفوعات.

بهذا تختبر كل فروع صفحة العودة ومعالج الـ Webhook خلال دقائق.

سيناريوهات الاختبار

نفّذ هذه السيناريوهات قبل الإطلاق:

السيناريوكيف تختبرهالنتيجة المتوقعة
دفع ناجحادفع ببطاقة اختبار ناجحةيُعلَّم الطلب مدفوعًا مرة واحدة، عبر صفحة العودة أو الـ Webhook أيهما وصل أولًا.
دفع مرفوضادفع ببطاقة اختبار مرفوضةيرى العميل صفحة فشل ويستطيع المحاولة مجددًا.
دفع ملغىاضغط إلغاء في صفحة الدفعيبقى الطلب غير مدفوع، ويستطيع العميل المحاولة مجددًا.
إعادة المحاولة بعد الرفضادفع ببطاقة مرفوضة، ثم افتح checkout_url نفسه وادفع ببطاقة ناجحةيصل payment.failed ثم payment.succeeded، ويُعلَّم الطلب مدفوعًا في النهاية.
العميل لا يعودادفع ثم أغلق التبويب قبل اكتمال إعادة التوجيهيُعلِّم إشعار payment.succeeded الطلب مدفوعًا.
عملية منتهيةأنشئ عملية دفع مع "expires_in_minutes": 5 (الحد الأدنى) وانتظريصل إشعار payment.expired، وتعرض صفحة الدفع أن صلاحية الدفعة انتهت.
إعادة توجيه مزوّرةافتح رابط العودة مع ?payment_id=<عملية فاشلة>&status=succeededلا يُعلَّم الطلب مدفوعًا.
Webhook مكررأعِد إرسال تسليم من المطورون ← Webhooksيُعالَج الطلب مرة واحدة فقط.
استرداد كامل وجزئياسترد عملية دفع تجريبية ناجحةتتحدّث amount_refunded ويصل إشعار refund.succeeded.
استرداد زائداسترد أكثر من المتبقي422 refund_exceeds_amount.
إعادة المحاولة الشبكيةأرسل طلب POST نفسه مرتين بالمفتاح Idempotency-Key نفسهعملية دفع واحدة واستجابتان متطابقتان، والثانية تحمل الترويسة Idempotent-Replayed: true.
عملة بثلاث منازلأنشئ عملية KWD بقيمة 1500تعرض صفحة الدفع 1.500 د.ك.
مبلغ ينتهي بـ 5أنشئ عملية KWD بقيمة 1505في الحسابات التي تطبّق قاعدة المنازل الثلاث: 422 validation_error مع details.fields.amount. وفي غيرها 201.
وسيلة غير مدعومةأنشئ عملية دفع بقيمة payment_method لا يقدّمها حسابك، مثل knet في حساب إماراتي422 validation_error مع details.fields.payment_method = "unsupported".
3-D Secureادفع ببطاقة اختبار تطلب المصادقةيُفتح التحدي (في نافذة على الصفحة أو في صفحة البنك، حسب حسابك)؛ إكماله ينجح الدفع، وإفشاله يرفضه.
Apple Pay / Google Payافتح checkout_url على جهاز فيه محفظة مُعدّةيظهر خيار المحفظة؛ وقيمة payment_method هي apple_pay أو google_pay مع brand وlast4 لبطاقة المحفظة. ولا تُنقل أموال حقيقية في وضع الاختبار.

بطاقات الاختبار

تعتمد بطاقات الاختبار على بلد حسابك. ما لم يذكر الجدول خلاف ذلك، استخدم أي تاريخ انتهاء مستقبلي وأي رمز CVV من 3 أرقام. لا تكتب أبدًا أرقام بطاقات حقيقية في حقول البطاقة في وضع الاختبار.

حسابات الكويت

البطاقةالرقمتاريخ الانتهاءالنتيجة
Visa4508 7500 1574 1019أي تاريخ مستقبلينجاح، بعد صفحة اختبار 3-D Secure
Mastercard5123 4500 0000 000801/39نجاح، بعد صفحة اختبار 3-D Secure
Mastercard5123 4500 0000 000805/39رفض

في صفحة اختبار 3-D Secure، وافق على المصادقة لإكمال الدفع، أو ارفضها لترى عملية مرفوضة.

لكي-نت ومدى وغيرها من الوسائل المحلية بيانات اختبار خاصة بها. راسل support@teyra.co للحصول على ما يدعمه حسابك منها.

حسابات الإمارات

البطاقةالرقمالنتيجة
Visa4242 4242 4242 4242نجاح
Visa4000 0027 6000 3184تطلب 3-D Secure؛ وافق عليها للنجاح أو أفشِلها للرفض
Visa4000 0000 0000 0002رفض
Visa4000 0000 0000 9995رفض: رصيد غير كافٍ

لا يمكن اختبار كي-نت وغيرها من الوسائل المحلية إلا في الحسابات التي تدعمها. راجع وسائل الدفع وحسابك للاطلاع على قائمة تحقق.

اختبار الـ Webhooks

  • استخدم إرسال حدث تجريبي في المطورون ← Webhooks لإرسال حدث payment.succeeded موقّع إلى نقطة نهاية.
  • كل عملية دفع تجريبية تكملها ترسل أحداثًا حقيقية في وضع الاختبار إلى نقاط النهاية الخاصة بوضع الاختبار.
  • راجع محاولات التسليم ورموز الاستجابة ومواعيد إعادة المحاولة في قائمة عمليات التسليم.

راجع الـ Webhooks.