api

واجهة برمجة تطبيقات المعاملات

تغطي واجهة برمجة تطبيقات المعاملات (Transactions API) دورة حياة الدفع الكاملة: بدء جلسات الدفع، والاستعلام عن حالة المعاملات، والتحقق من تأكيدات البلوك تشين.

محدث: 9‏/3‏/2026

تغطي واجهة برمجة تطبيقات المعاملات دورة حياة الدفع الكاملة: إنشاء جلسات الدفع، والاستعلام عن حالة المعاملات، والتحقق من تأكيدات البلوك تشين.

نظرة عامة على تدفق الدفع

┌─────────────┐    ┌──────────────┐    ┌──────────────┐    ┌───────────────┐
│ Your Server │───>│ Create       │───>│ Customer     │───>│ Blockchain    │
│             │    │ Checkout     │    │ Pays on      │    │ Confirms      │
│ POST api.php│    │ Session      │    │ Payment Page │    │ Transaction   │
└─────────────┘    └──────────────┘    └──────────────┘    └───────────────┘
                         │                                        │
                         │ payment_url                             │
                         ▼                                        ▼
                   ┌──────────────┐                         ┌───────────────┐
                   │ Redirect     │                         │ Webhook POST  │
                   │ Customer     │                         │ to Your Server│
                   │ to pay.php   │                         │               │
                   └──────────────┘                         └───────────────┘
  1. الخادم الخاص بكيستدعيcreate-checkout-sessionمع مبلغ الدفع والعملة.
  2. تتلقىpayment_urlوتعيد توجيه العميل إليه.
  3. يختار العميل عملة مشفرة، ويمسح رمز الاستجابة السريعة ضوئيًا، ويرسل الدفعة.
  4. يراقب QuantaPay البلوك تشين وينتظر التأكيدات.
  5. بمجرد التأكيد، يرسل QuantaPaywebhookإلى الخادم الخاص بك و/أو يعيد توجيه العميل.

create-checkout-session

إنشاء جلسة دفع جديدة. يُرجع عنوان URL للدفع لإعادة توجيه عميلك إليه.

طلب

curl -X POST https://cloud.quantapay.app/api.php \
  -d "function=create-checkout-session" \
  -d "api-key=YOUR_API_KEY" \
  -d "price=49.99" \
  -d "currency=USD"

المعلمات

معلمةالنوعمطلوبالوصف
priceرقمنعممبلغ الدفع بالعملة المحددة.
currencyسلسلةنعمرمز عملة ISO 4217 (على سبيل المثال،USD, EUR, GBP).
order_idسلسلةلارقم طلبك الداخلي كمرجع.
redirectسلسلةلاعنوان URL لإعادة توجيه العميل بعد الدفع الناجح.
cancel_urlسلسلةلاعنوان URL لإعادة توجيه العميل في حالة الإلغاء.
noteسلسلةلاملاحظة داخلية مرفقة بالمعاملة.
عناصرسلسلة JSONلامصفوفة من بنود السطور (انظر أدناه).
العميلسلسلة JSONلاكائن معلومات العميل.
التوقيعسلسلةلاتوقيع HMAC-SHA256 للحماية من العبث.
الطابع الزمنيعدد صحيحلاالطابع الزمني Unix (مطلوب في حالة تقديم التوقيع).
external_referenceسلسلةلامرجع مشفر من إضافة WordPress.
إضافةسلسلةلامعرّف الإضافة المصدر (على سبيل المثال،woo, edd).

تنسيق العناصر

[
  {
    "name": "Product Name",
    "qty": 2,
    "price": 24.99,
    "image": "https://example.com/product.jpg"
  }
]
  • 50 عنصرًا كحد أقصى لكل جلسة.
  • الاسم: 200 حرف كحد أقصى.
  • الصورة: يجب أن يكون عنوان URL لـ HTTP أو HTTPS، 500 حرف كحد أقصى.

الاستجابة

{
  "success": true,
  "response": {
    "session_id": "cs_a1b2c3d4e5f6a1b2c3d4",
    "payment_url": "https://cloud.quantapay.app/pay.php?session=cs_a1b2c3d4e5f6a1b2c3d4",
    "expires_at": "2026-03-08T11:00:00+00:00"
  }
}
  • session_id: معرّف جلسة فريد (التنسيق:cs_+ 24 حرفًا سداسيًا عشريًا).
  • payment_url: عنوان URL لإعادة توجيه العميل لإكمال الدفع.
  • expires_at: الطابع الزمني ISO 8601. تنتهي صلاحية الجلسات بعد60 دقيقة.

استجابات الخطأ

الرسالةالسبب
الحقول المطلوبة مفقودة: السعر، العملةpriceهو 0/مفقود أوcurrencyفارغ.
توقيع غير صالحفشل التحقق من توقيع HMAC.
الطلب منتهي الصلاحيةالطابع الزمني أبعد من 5 دقائق عن وقت الخادم.
فشل إنشاء جلسة دفعخطأ في قاعدة البيانات.

get-checkout-session

الاستعلام عن الحالة الحالية لجلسة دفع.

طلب

curl -X POST https://cloud.quantapay.app/api.php \
  -d "function=get-checkout-session" \
  -d "api-key=YOUR_API_KEY" \
  -d "session_id=cs_a1b2c3d4e5f6a1b2c3d4"

المعلمات

معلمةالنوعمطلوبالوصف
session_idسلسلةنعممُعرّف جلسة الدفع (يبدأ بـcs_).

الاستجابة

{
  "success": true,
  "response": {
    "session_id": "cs_a1b2c3d4e5f6a1b2c3d4",
    "status": "paid",
    "price": 49.99,
    "currency": "usd",
    "order_id": "ORD-12345",
    "created_at": "2026-03-08T10:00:00+00:00",
    "expires_at": "2026-03-08T11:00:00+00:00",
    "paid_at": "2026-03-08T10:15:23+00:00"
  }
}

حالات الجلسة

الحالةالوصف
نشطالجلسة مفتوحة وفي انتظار الدفع.
مدفوعتم استلام الدفعة وتأكيدها على البلوك تشين.
منتهي الصلاحيةانتهت صلاحية الجلسة دون استلام الدفعة (بعد 60 دقيقة).
ملغاةتم إلغاء الجلسة قبل استلام الدفعة.

get-transactions

الاستعلام عن قائمة معاملات مُرقّمة. مفيد للمطابقة وإعداد التقارير.

طلب

curl -X POST https://cloud.quantapay.app/api.php \
  -d "function=get-transactions" \
  -d "api-key=YOUR_API_KEY" \
  -d "pagination=0"

المعلمات

جميع المعلمات اختيارية:

معلمةالنوعالوصف
ترقيم الصفحاتعدد صحيحرقم الصفحة (يبدأ من 0). تعرض كل صفحة ما يصل إلى 100 معاملة.
بحثسلسلةالبحث عن طريق مُعرّف المعاملة أو الهاش أو المبلغ أو الوصف.
الحالةسلسلةالتصفية حسب الحالة:C(مكتملة)،P(معلقة)،X(مدفوعة جزئيًا)،E(منتهية الصلاحية).
العملة المشفرةسلسلةالتصفية حسب رمز العملة المشفرة (مثل،btc, eth).
النطاق_الزمنيمصفوفةنطاق التاريخ كصفيف من عنصرين:checkout_id.
التصفية بواسطة مُعرّف زر الدفع/إتمام الشراء.سلسلةتُرجع مصفوفة من كائنات المعاملات:

الاستجابة

حالات المعاملات

{
  "success": true,
  "response": [
    {
      "id": "123",
      "title": "Payment #ORD-12345",
      "description": "",
      "from": "0xCustomerAddress...",
      "to": "0xYourAddress...",
      "hash": "0xTransactionHash...",
      "amount": "0.025",
      "amount_fiat": "49.99",
      "cryptocurrency": "eth",
      "currency": "usd",
      "external_reference": "",
      "creation_time": "2026-03-08 10:00:00",
      "status": "C",
      "webhook": "1",
      "vat": ""
    }
  ]
}

الرمز

مكتملةالحالةالوصف
Cتم تأكيد الدفع على البلوك تشين.معلقة
Pفي انتظار الدفع أو تأكيد البلوك تشين.مدفوع أقل من المطلوب
Xتم استلام الدفعة ولكن المبلغ أقل من المطلوب.منتهية الصلاحية
Eانتهت صلاحية نافذة الدفع دون دفع مبلغ كافٍ.مُستردة
تم رد المبلغ المدفوع.get-transactionاحصل على تفاصيل معاملة واحدة عن طريق المُعرّف.

transaction_id

مُعرّف المعاملة.

طلب

curl -X POST https://cloud.quantapay.app/api.php \
  -d "function=get-transaction" \
  -d "api-key=YOUR_API_KEY" \
  -d "transaction_id=123"

المعلمات

معلمةالنوعمطلوبالوصف
تُرجع كائن معاملة واحد (بنفس التنسيق كما فيعدد صحيحنعمcheck-transaction

الاستجابة

قم بتشغيل فحص تأكيد البلوك تشين يدويًا لمعاملة معينة.get-transactions).


transaction

كائن المعاملة المراد فحصه (كما تم إرجاعه بواسطة

طلب

curl -X POST https://cloud.quantapay.app/api.php \
  -d "function=check-transaction" \
  -d "api-key=YOUR_API_KEY" \
  -d "transaction=TRANSACTION_JSON"

المعلمات

معلمةالنوعمطلوبالوصف
تُرجع كائن المعاملة المُحدّث مع حالة التأكيد الحالية. إذا تم الوصول إلى العدد المطلوب من التأكيدات، فستتغير حالة المعاملة إلىسلسلة JSONنعم(مكتملة).transaction_id).

الاستجابة

ملاحظةC: هذه الوظيفة غير مطلوبة عادةً في التشغيل العادي. تتحقق QuantaPay تلقائيًا من التأكيدات عبر نظام cron الخاص بها. استخدم هذا فقط إذا كنت بحاجة إلى فرض فحص فوري.

Note: This function is typically not needed in normal operation. QuantaPay automatically checks confirmations via its cron system. Use this only if you need to force an immediate check.