مدفوعات العملات المشفرة لـ FOSSBilling
محوّل دفع لـ FOSSBilling يتيح للعملاء دفع الفواتير بـ USDT (TRC20 وERC20 وBEP20) وبعملات أخرى عبر SnapEX Pay. عندما يختار العميل SnapEX Pay على فاتورة، ينشئ المحوّل فاتورة في SnapEX Pay ويعرض زرًا يقود إلى صفحة الدفع (أو يحوّله إليها مباشرة إذا طلب FOSSBilling ذلك). وبعد تأكيد الدفعة يصل إشعار Webhook موقّع إلى عنوان IPN في FOSSBilling، فيُضاف المبلغ إلى حساب العميل وتُعلَّم الفاتورة مدفوعة.
مجانًا. الإصدار 1.2.0.
ماذا تفعل الوحدة
- لا محفظة ولا عقدة ولا مراقب للبلوكتشين تحتاج إلى تشغيله: تذهب الأموال إلى رصيد التاجر الخاص بك في SnapEX Pay.
- محوّل في ملف واحد يظهر في System → Payment gateways.
- يُتحقَّق من إشعارات Webhook عبر HMAC-SHA256 ونافذة 5 دقائق، وتُقرأ الفاتورة مجددًا من API في SnapEX Pay قبل إضافة أي مبلغ.
- تُسجَّل الدفعات مرة واحدة: إشعار Webhook المتكرر لا يضيف المبلغ إلى حساب العميل مرة ثانية، وتجري التسوية تحت قفل في قاعدة البيانات حيث تدعم قاعدة البيانات ذلك. وإذا تغيّر إجمالي الفاتورة بعد بدء الدفع، فلا يُضاف شيء تلقائيًا.
- خيار Enable Test Mode في FOSSBilling ينشئ فواتير تجريبية في SnapEX Pay دون أموال حقيقية؛ ولا تُطبَّق الدفعات التجريبية أبدًا ما دامت البوابة في الوضع الفعلي.
- كل موقع FOSSBilling يسوّي الفواتير التي أنشأها فقط؛ وتُحوَّل الفواتير بغير الدولار USD بسعر صرف ثابت أو بأسعار العملات الخاصة بـ FOSSBilling.
التثبيت
- انسخ
SnapexPay.phpمن الأرشيف إلى المجلد الجذر لـ FOSSBilling بحيث يصبح مسارهlibrary/Payment/Adapter/SnapexPay/SnapexPay.php(أسماء المجلدات والملفات حساسة لحالة الأحرف)، واجعله قابلًا للقراءة من مستخدم خادم الويب. - في لوحة الإدارة افتح System → Payment gateways → New payment gateway وثبّت SnapexPay.
- افتح البوابة، والصق مفتاح API (بالصلاحيتين
invoices.readوinvoices.write) من لوحة تحكم SnapEX Pay، وحدّد Enabled وAllow One Time Payments، ثم احفظ. - انسخ IPN Callback URL المعروض في صفحة البوابة (
https://<your-fossbilling>/ipn.php?gateway_id=<id>)، واضبطه عنوانًا لـ Webhook في لوحة تحكم SnapEX Pay (للمطورين)، والصق السرwhsec_…(يظهر مرة واحدة فقط، عند حفظ العنوان أول مرة) في حقل Webhook secret. - فعّل Enable Test Mode، وادفع فاتورة، وأكّد الدفعة التجريبية على صفحة SnapEX Pay؛ يجب أن تتحول الفاتورة إلى Paid. ثم أوقف وضع الاختبار.
الإعدادات
| API key | من لوحة تحكم SnapEX Pay ← مفاتيح API، بالصلاحيتين invoices.read وinvoices.write. |
|---|---|
| Webhook secret | السر whsec_… الخاص بنقطة نهاية Webhook. تُرفض إشعارات Webhook غير الموقّعة أو ذات التوقيع الخاطئ. |
| Network fee paid by | merchant: يدفع العميل مبلغ الفاتورة، وتُخصم الرسوم مما تستلمه. customer: تُضاف عمولة SnapEX Pay ورسوم الشبكة إلى المبلغ. |
| Payment window, minutes | 1–1440، الافتراضي 60. |
| USD per 1 unit of invoice currency | يُتجاهل للفواتير بالدولار USD. وللعملات الأخرى: سعر صرف ثابت، أو اتركه فارغًا لاستخدام أسعار العملات الخاصة بـ FOSSBilling (يجب أن تكون USD موجودة في System → Currencies). |
| Enable Test Mode | المفتاح الخاص بـ FOSSBilling: مفعّل — فواتير تجريبية في SnapEX Pay، ومعطّل — فواتير فعلية. |
| Partner ID | اختياري: Partner ID للمُدمِج الذي أعدّ الوحدة (برنامج الإحالة في SnapEX Pay). اتركه فارغًا إذا أعددتها بنفسك. |
| API URL | اتركه فارغًا. |
أسئلة
ما إصدارات FOSSBilling المدعومة؟
FOSSBilling 0.8.x وإصدارات التطوير الحالية.
لا يظهر SnapexPay في New payment gateway.
تحقّق من المسار library/Payment/Adapter/SnapexPay/SnapexPay.php (حساس لحالة الأحرف) نسبةً إلى المجلد الذي يحتوي ipn.php، ومن أن خادم الويب يستطيع قراءة الملف.
دفع العميل لكن الفاتورة ما زالت غير مدفوعة.
افتح Invoices → Transactions. إذا لم تكن هناك معاملة، فراجع عمليات تسليم Webhook في لوحة تحكم SnapEX Pay، وتحقّق من أن العنوان يتضمن ?gateway_id=. وبعد إصلاح السبب يمكنك معالجة المعاملة مجددًا من لوحة الإدارة.
تظهر في المعاملة «partially paid» أو «already paid» أو «total changed».
هذه لا تُضاف تلقائيًا أبدًا. راجع الدفعة في لوحة تحكم SnapEX Pay، ثم أضف المبلغ إلى رصيد العميل أو علّم الفاتورة مدفوعة يدويًا.
هل يمكن لعدة مواقع FOSSBilling استخدام حساب SnapEX Pay واحد؟
كل موقع يسوّي فواتيره فقط، لكن لحساب SnapEX Pay عنوان Webhook واحد، والمحوّل لا يؤكد الدفعات إلا عبر Webhook. لذلك لا تُؤكَّد الدفعات تلقائيًا إلا في الموقع الذي ضُبط عنوان IPN الخاص به عنوانًا لـ Webhook.
هل أنت مستعد لقبول العملات المشفرة؟
أنشئ حساب تاجر، واحصل على مفتاح API، ثم اربط الوحدة. عمولة 1% على كل دفعة، دون رسوم شهرية.