الانتقال إلى المحتوى الرئيسي
GET
/
v3
/
ocpay
/
checkPayment
/
:ref
curl --request GET \
  --url https://api.oneclickdz.com/v3/ocpay/checkPayment/OCPL-A1B2C3-D4E5 \
  --header 'X-Access-Token: YOUR_API_KEY'

Documentation Index

Fetch the complete documentation index at: https://docs.oneclickdz.com/llms.txt

Use this file to discover all available pages before exploring further.

نظرة عامة

تحقق من حالة الدفع في الوقت الفعلي باستخدام مرجع الدفع. ضروري لمعالجة الطلبات والاستعلام عن الحالة والتحقق من المدفوعات.
الكشف التلقائي عن البيئة: يتحقق هذا الـ endpoint تلقائياً من معاملات الإنتاج (SATIM) والـ sandbox بناءً على مكان إنشاء الدفع.

معاملات المسار

ref
string
مطلوب
كود مرجع الدفع (التنسيق: OCPL-XXXXXX-YYYY)
هذا هو paymentRef الذي يُعاد عند إنشاء رابط الدفع

الاستجابة

success
boolean
يشير إلى نجاح العملية
data
object
معلومات حالة الدفع
meta
object
بيانات وصفية للاستجابة

شرح قيم الحالة

عند رؤية هذه الحالة:
  • لم يبدأ العميل عملية الدفع بعد
  • الدفع قيد المعالجة من قِبل البنك
  • الرابط تم إنشاؤه للتو ولم يُستخدم بعد
ما يجب فعله:
  • استمر في الاستعلام عن تحديثات الحالة
  • اعرض “الدفع معلق” للعميل
  • لا تُنفِّذ الطلب بعد
عند رؤية هذه الحالة: - اكتمل الدفع بنجاح - ستُضاف الأموال إلى رصيد OneClick الخاص بكما يجب فعله:
  • ضع علامة على الطلب كمدفوع في نظامك
  • نفِّذ الطلب/قدِّم الخدمة
  • أرسل تأكيداً للعميل
عند رؤية هذه الحالة:
  • تم رفض الدفع أو فشل
  • انتهت صلاحية رابط الدفع (20 دقيقة)
  • ألغى العميل الدفع
ما يجب فعله:
  • ضع علامة على الطلب كفاشل/ملغى
  • أنشئ رابط دفع جديداً إذا أراد العميل إعادة المحاولة
  • لا تُنفِّذ الطلب

انتهاء صلاحية الرابط

تنتهي صلاحية روابط الدفع بعد 20 دقيقة من الإنشاء إذا لم يُبدأ أي دفع. بعد انتهاء الصلاحية ستكون الحالة FAILED.
curl --request GET \
  --url https://api.oneclickdz.com/v3/ocpay/checkPayment/OCPL-A1B2C3-D4E5 \
  --header 'X-Access-Token: YOUR_API_KEY'
{
  "success": true,
  "data": {
    "status": "CONFIRMED",
    "message": "Payment confirmed successfully",
    "paymentRef": "OCPL-A1B2C3-D4E5",
    "transactionDetails": {
      "amount": 5000,
      "currency": "DZD",
      "isSandbox": false,
      "createdDate": "2025-01-15T10:30:00Z"
    }
  },
  "meta": {
    "timestamp": "2025-01-15T10:35:00Z",
    "requestId": "req_abc123xyz"
  }
}

مثال التكامل

إليك كيفية تنفيذ التحقق من الحالة في نظام الطلبات الخاص بك:
async function checkOrderPayment(orderId) {
  // Get payment ref from your database
  const order = await db.orders.findOne({ id: orderId });

  if (!order || !order.paymentRef) {
    throw new Error("Order not found or no payment link");
  }

  // Check payment status
  const response = await fetch(
    `https://api.oneclickdz.com/v3/ocpay/checkPayment/${order.paymentRef}`,
    {
      headers: { "X-Access-Token": process.env.ONECLICK_API_KEY },
    }
  );

  const data = await response.json();

  // Update order status based on payment status
  switch (data.data.status) {
    case "CONFIRMED":
      await db.orders.update(orderId, {
        status: "paid",
        paidAt: new Date(),
      });
      await fulfillOrder(orderId);
      break;

    case "FAILED":
      await db.orders.update(orderId, {
        status: "payment_failed",
      });
      break;

    case "PENDING":
      // Keep polling
      break;
  }

  return data.data;
}

الخطوات التالية

إنشاء رابط دفع

تعلم كيفية إنشاء روابط الدفع

دليل التكامل

دليل تكامل Navio الكامل