مدفوعات العملات المشفرة لـ WHMCS
اقبل العملات المشفرة على فواتير WHMCS. يضغط العميل Pay Now، ويدفع على صفحة SnapEX Pay بـ USDT على شبكات TRON وEthereum وBSC وغيرها، أو بعملات أخرى تُحوَّل إلى USDT، فتُعلَّم الفاتورة مدفوعة في WHMCS تلقائيًا.
مجانًا. الإصدار 1.1.0.
ماذا تفعل الوحدة
- لا محافظ ولا عُقد تحتاج إلى تشغيلها: تصل الأموال إلى رصيد التاجر الخاص بك في SnapEX Pay.
- ثلاث طرق مستقلة لتعليم الفاتورة مدفوعة: إشعار Webhook الموقّع، وعودة العميل من صفحة الدفع، وفحص في الخلفية عند تشغيل cron في WHMCS (كل دفعة معلّقة مرة كل 10 دقائق على الأكثر، لمدة 5 أيام). ضياع إشعار Webhook لا يترك فاتورة مدفوعة دون تسجيل أبدًا، ولا تُضاف أي دفعة مرتين.
- WHMCS متعدد العملات: عند ضبط Convert To For Processing على USD تبقى الفواتير مسجّلة بعملة العميل.
- لا تُطبَّق الدفعات الجزئية تلقائيًا أبدًا: تُسجَّل في Gateway Log لتراجعها بنفسك. وإذا كان Webhook مُعدًّا، تُسجَّل هناك أيضًا الأموال التي تصل بعد إغلاق فاتورة SnapEX Pay.
- وضع الاختبار: تُؤكَّد الفواتير التجريبية من تلقاء نفسها دون أموال حقيقية؛ وما دام مفعّلًا لا يرى زر الدفع إلا المشرفون الذين سجّلوا الدخول، ويرى بقية العملاء ملاحظة «test mode» بدلًا منه.
التثبيت
- ارفع محتويات الأرشيف إلى المجلد الجذر لـ WHMCS مع الحفاظ على المسارات:
modules/gateways/snapexpay.php،modules/gateways/snapexpay/،modules/gateways/callback/snapexpay.php،includes/hooks/snapexpay.php. - في لوحة إدارة WHMCS افتح System Settings → Payment Gateways → All Payment Gateways وفعّل SnapEX Pay (Crypto).
- في لوحة تحكم التاجر في SnapEX Pay أنشئ مفتاح API بالصلاحيتين
invoices.readوinvoices.write، والصقه في حقل API key. - Webhook (يُنصح به): في لوحة التحكم اضبط عنوان Webhook على
https://<your WHMCS>/modules/gateways/callback/snapexpay.php(العنوان الدقيق يظهر تحت الحقل في WHMCS)، والصق السرwhsec_…في حقل Webhook secret. - إذا لم تكن عملة WHMCS لديك هي USD، فاضبط Convert To For Processing على USD. تبقى الفواتير مسجّلة بعملة العميل.
- فعّل Test mode، وافتح فاتورة غير مدفوعة بصفتك مشرفًا، وادفعها على صفحة SnapEX Pay بطريقة تجريبية، وتحقّق من أنها أصبحت Paid. ثم أوقف وضع الاختبار.
الإعدادات
| API key | من لوحة تحكم SnapEX Pay. |
|---|---|
| Webhook secret | whsec_… من إعدادات Webhook في لوحة التحكم. من دونه تعمل الوحدة مع ذلك عبر صفحة العودة وcron. |
| Network fee paid by | Merchant: يدفع العميل مبلغ الفاتورة بالضبط، وتُخصم الرسوم مما تستلمه. Client: تُضاف عمولة SnapEX Pay ورسوم الشبكة إلى المبلغ. |
| Payment window, minutes | مدة صلاحية صفحة الدفع (1–1440، الافتراضي 60). الضغط على Pay Now مجددًا لاحقًا يفتح صفحة جديدة. |
| Test mode | فواتير تجريبية؛ ما دام الوضع مفعّلًا لا يرى زر الدفع إلا المشرفون. بعد إيقاف وضع الاختبار تُتجاهل الدفعات التجريبية. |
| Partner ID | اختياري: Partner ID للمُدمِج الذي أعدّ الوحدة (برنامج الإحالة في SnapEX Pay). اتركه فارغًا إذا أعددتها بنفسك. |
| API URL | اتركه كما هو. |
أسئلة
ماذا يحدث إذا لم يصل إشعار Webhook؟
تُعلَّم الفاتورة مدفوعة مع ذلك: تتحقق الوحدة من الدفعة أيضًا عند عودة العميل من صفحة الدفع وعند تشغيل cron في WHMCS (كل دفعة معلّقة مرة كل 10 دقائق على الأكثر، لمدة 5 أيام). ولا تُضاف أي دفعة مرتين.
عملة WHMCS لديّ ليست USD. هل ستعمل الوحدة؟
نعم. اضبط Convert To For Processing على USD في إعدادات البوابة؛ وتبقى الفواتير مسجّلة بعملة العميل.
ماذا لو أرسل العميل أقل من مبلغ الفاتورة؟
إذا لم يُكمل العميل المبلغ في الوقت المحدد، فلا يُضاف شيء تلقائيًا. ويُسجَّل في Gateway Log قيد «Partial payment — review and apply manually» مع المبلغ المستلم.
ماذا لو وصلت الأموال بعد إغلاق فاتورة SnapEX Pay؟
لا تُطبَّق في WHMCS تلقائيًا. وإذا كان Webhook مُعدًّا، يُسجَّل قيد في Gateway Log؛ والأموال في رصيدك في SnapEX Pay.
هل يمكنني الاختبار دون أموال حقيقية؟
نعم. فعّل Test mode: تُؤكَّد الفواتير التجريبية من تلقاء نفسها، وما دام الوضع مفعّلًا لا يرى زر الدفع إلا المشرفون الذين سجّلوا الدخول.
أين أرى ما فعلته الوحدة؟
في WHMCS، Billing → Gateway Log. معرّف المعاملة لكل دفعة هو معرّف فاتورة SnapEX Pay (INV-…).
هل أنت مستعد لقبول العملات المشفرة؟
أنشئ حساب تاجر، واحصل على مفتاح API، ثم اربط الوحدة. عمولة 1% على كل دفعة، دون رسوم شهرية.