واجهة برمجة تطبيقات المعاملات
تغطي واجهة برمجة تطبيقات المعاملات (Transactions API) دورة حياة الدفع الكاملة: بدء جلسات الدفع، والاستعلام عن حالة المعاملات، والتحقق من تأكيدات البلوك تشين.
تغطي واجهة برمجة تطبيقات المعاملات دورة حياة الدفع الكاملة: إنشاء جلسات الدفع، والاستعلام عن حالة المعاملات، والتحقق من تأكيدات البلوك تشين.
نظرة عامة على تدفق الدفع
┌─────────────┐ ┌──────────────┐ ┌──────────────┐ ┌───────────────┐
│ 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 │ │ │
└──────────────┘ └───────────────┘
- الخادم الخاص بكيستدعي
create-checkout-sessionمع مبلغ الدفع والعملة. - تتلقى
payment_urlوتعيد توجيه العميل إليه. - يختار العميل عملة مشفرة، ويمسح رمز الاستجابة السريعة ضوئيًا، ويرسل الدفعة.
- يراقب QuantaPay البلوك تشين وينتظر التأكيدات.
- بمجرد التأكيد، يرسل 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.