مثال دفع بالكريبتو بجافاسكريبت: تدفق يعمل اليوم
مثال دفع بالكريبتو بجافاسكريبت: تدفق يعمل مع API v1 الفعلية، واستدعاء من الخادم وwebhook، واستدعاء الـSDK المخطط مُعلَّم كخارطة طريق. للمطورين.
يعرض مثال الدفع بالكريبتو بجافاسكريبت هذا تدفقًا يعمل اليوم: ينشئ الخادم الدفعة عبر API v1 الفعلية، ويُوجَّه المتصفح إلى الصفحة المستضافة، ويؤكد الـwebhook الطلب. استدعاء Low-Code SDK في النهاية معاينة لخارطة الطريق فقط.
التدفق في أربع خطوات
يضغط العميل على الدفع، فينشئ خادمك الدفعة، ويذهب المتصفح إلى redirectUrl، ويؤكد الـwebhook الحالة النهائية. كل خطوة استدعاء HTTP عادي أو تحويل، لذلك لا يحتاج المثال إلى مكتبة خاصة.
استدعاء الخادم بجافاسكريبت
يرسل معالج Node.js طلب POST /api/v1/payment مع ترويسة x-api-key ومعرّف الطلب والسعر بالدولار، ثم يعيد redirectUrl إلى المتصفح. لا يغادر المفتاح الخادم أبدًا.
x-api-key: sk_live_…
{
"id": "order_1024",
"price": 149.99,
"paymentSystemId": 12
}
// 201 Created
{
"data": {
"id": "8f3k2a1c",
"redirectUrl": "https://my.qvard.com/pay/8f3k2a1c"
},
"code": 201,
"message": "success",
"status": true
}جانب المتصفح
تحتاج الصفحة إلى زر فقط يستدعي معالجك ثم يتبع redirectUrl المرتجع. لا يوجد في المتصفح مفتاح ولا منطق للمبالغ.
معالج الـwebhook
تقرأ نقطة نهاية الـwebhook الحقلين id وstatus، وتتحقق من ترويسة x-api-key، وتضع علامة مدفوع على الطلب عندما تكون الحالة paid. اجعل المعالج آمنًا عند التكرار، فقد تصل الرسالة نفسها مرتين.
x-api-key: sk_live_…
{ "id": "order_1024", "status": "paid" }استدعاء الـSDK المخطط
من المتوقع أن يفتح Low-Code SDK الوارد في خارطة الطريق التدفق نفسه من الصفحة بمكالمة واحدة. هذه معاينة لواجهة لم تُطلق بعد، تُعرض للتوجيه فقط، ولا ينبغي استخدامها في الإنتاج.
اختبر قبل الإطلاق
أنشئ فاتورة تجريبية وادفعها في الصفحة المستضافة، وتأكد من أن الـwebhook يستقبل الحالة النهائية ويضع علامة على الطلب.
// ROADMAP preview: the SDK is not released yet.
QvardCheckout.open({ amount: 149.99, currency: "USD", orderId: "order_1024" });FAQ
هل يستخدم هذا المثال SDK؟
لا. التدفق العامل يستخدم استدعاءات HTTP عادية وتحويلًا. استدعاء الـSDK معاينة لخارطة الطريق فقط.
هل يمكنني استخدام استدعاء QvardCheckout.open() في الإنتاج؟
لا. الـSDK لم يُطلق بعد. استخدم API وredirectUrl والـwebhook.
أين يجب أن يُحفظ مفتاح API؟
على الخادم فقط. يستلم المتصفح redirectUrl وحده.
كيف أعرف أن الدفع اكتمل؟
فقط عندما يرسل الـwebhook المعرّف والحالة paid.

