تطبيق OrcaRail التوضيحي
تطبيق توضيحي بسيط ومفتوح المصدر يبيّن كيفية قبول مدفوعات الكريبتو مع OrcaRail باستخدام Node.js SDK وصفحة الدفع المستضافة.
المستودع
- GitHub: https://github.com/OrcaRail/demo
العروض التوضيحية الحية وللـ sandbox
يعمل العرض التوضيحي نفسه مرتين: يستخدم العرض الحي شبكات ورموز الشبكة الرئيسية، ويستخدم عرض الـ sandbox الشبكات التجريبية برموز تجريبية مجانية. يتحدد الوضع من مفتاح API (ak_test_ يعني sandbox). يعرض عرض الـ sandbox مؤشر Testnet وامضًا ورابطًا إلى العرض الحي، ويعيد العرض الحي رابطًا إلى عرض الشبكة التجريبية. في عرض الـ sandbox يمكنك إنهاء الدفع عبر محاكاة الدفع دون الحاجة إلى محفظة.
الميزات
- قسّم واحصل على عمولتك — استخدم مفتاح API بنسبة عمولة لتحصل على حصة من كل دفعة؛ تُعرض العمولة في صفحة الدفع وتُرسل إلى عنوان السحب الخاص بك
- زر «ادفع بالكريبتو» وبطاقة منتج
- إنشاء Payment Intent وتأكيده عبر Node.js SDK (
@orcarail/node) - محدد عملة يُملأ عبر
orcarail.rates.getCurrencies({ active: true }) - عرض سعر بالعملة الورقية عبر
orcarail.rates.getFiatQuote({ amount, currency })لمربع عرض السعر - التوجيه إلى صفحة الدفع المستضافة لدى OrcaRail
- صفحة نجاح تعرض حالة الدفع
- نقطة نهاية webhook لأحداث الدفع (مع التحقق من التوقيع)
- جاهز للنشر على Vercel
التقنيات المستخدمة
- الإطار: Next.js (App Router)
- SDK: @orcarail/node
- التنسيق: Tailwind CSS
البدء السريع
-
انسخ المستودع
git clone https://github.com/OrcaRail/demo.gitcd demo -
ثبّت الاعتماديات
npm install -
اضبط البيئة
انسخ
.env.local.exampleإلى.env.localواضبط:ORCARAIL_API_KEY– مفتاح API الخاص بك (مثلak_live_xxx)ORCARAIL_API_SECRET– سر API الخاص بك (مثلsk_live_xxx)ORCARAIL_WEBHOOK_SECRET– اختياري؛ للتحقق من توقيع الـ webhookNEXT_PUBLIC_APP_URL– رابط تطبيقك (مثلhttp://localhost:3001)
يُختار الرمز والشبكة في واجهة العرض التوضيحي (أو يُرسلان في جسم الطلب إلى
/api/pay). ويمكنك اختياريًا إرسالwithdrawal_addressفي الجسم لتغيير وجهة سحب أموال تلك الدفعة.للتطوير المحلي مع API محلية:
ORCARAIL_API_BASE_URL– مثلhttp://127.0.0.1:3000/api/v1
-
شغّل العرض التوضيحي
npm run devافتح التطبيق (الافتراضي: http://localhost:3001)، وانقر على «ادفع بالكريبتو»، وأكمل التدفق في تطبيق الدفع المستضاف.
التدفق
- ينقر المستخدم على «ادفع بالكريبتو» ← تستدعي الواجهة الأمامية
/api/pay. - يستخدم الخادم الخلفي الـ SDK لإنشاء Payment Intent وتأكيده.
- يُوجَّه المستخدم إلى صفحة الدفع المستضافة لدى OrcaRail.
- يكمل المستخدم الدفع على السلسلة.
- يُوجَّه المستخدم إلى صفحة النجاح؛ ويستدعي التطبيق
/api/completeو/api/statusلتعليم الـ intent بأنه قيد المعالجة وعرض الحالة. - يتلقى الـ webhook الخاص بك على
/api/webhooksأحداثًا مثلpayment_intent.completedوpayment_intent.processing.
الـ webhooks
يتضمن العرض التوضيحي مسار webhook على /api/webhooks:
- يتحقق من ترويسة
x-webhook-signatureباستخدام سر الـ webhook الخاص بك - يعالج الأحداث:
payment_intent.completedوpayment_intent.processingوpayment_intent.canceledوpayment_intent.requires_payment_methodوpayment_intent.requires_confirmation
اضبط رابط الـ webhook في لوحة تحكم OrcaRail (مثل https://your-app.vercel.app/api/webhooks).
النشر على Vercel
- ادفع العرض التوضيحي إلى GitHub الخاص بك واستورد المشروع في Vercel.
- أضف متغيرات البيئة نفسها في إعدادات مشروع Vercel.
- اضبط
NEXT_PUBLIC_APP_URLعلى رابط Vercel الخاص بك. - انشر. سيكتشف Vercel إطار Next.js ويُعدّ البناء.
انظر أيضًا
- Node.js SDK – ثبّت
@orcarail/nodeوادمجها في تطبيقك - Payment Intents – المفاهيم والتدفق
- API الأسعار – عرض السعر بالعملة الورقية والعملات
- الـ webhooks – الأحداث والإعداد
- البدء – الحساب ومفاتيح API