پرداخت کریپتو برای Paymenter
یک افزونه درگاه برای Paymenter، پنل بیلینگ متنباز هاستینگ. مشتری روی یک فاکتور پرداختنشده SnapEX Pay را انتخاب میکند و با USDT در TRC20، ERC20 یا BEP20، یا کوینهای دیگری که در صفحه SnapEX Pay ارائه میشوند پرداخت میکند. یک وبهوک امضاشده پرداخت را ثبت میکند و فاکتور Paymenter به Paid تغییر میکند.
رایگان. نسخه 1.1.0.
چه کاری انجام میدهد
- یک افزونه درگاه بومی Paymenter v1 که در Admin → Gateways نمایش داده میشود.
- وبهوکها با HMAC-SHA256 و بازه ۵ دقیقه بررسی میشوند و پیش از ثبت هر پرداخت، فاکتور دوباره از API SnapEX Pay خوانده میشود.
- پرداختها یک بار ثبت میشوند: وبهوک تکراری تراکنش دوم اضافه نمیکند. مبلغ ثبتشده دقیقاً همان مبلغ فاکتور به ارز فاکتور است.
- هر سایت Paymenter فقط فاکتورهای خودش را تسویه میکند (با هش
APP_URLبرچسب میخورند). - حالت تست با فاکتورهای تستی که بدون پول واقعی تأیید میشوند؛ تا وقتی درگاه در حالت live است پرداختهای تست نادیده گرفته میشوند. نرخ ثابت دلار برای فروشگاههایی که به دلار صورتحساب نمیدهند.
نصب
- آرشیو را از حالت فشرده خارج کنید و پوشه آن را بهصورت
extensions/Gateways/SnapexPay/در Paymenter قرار دهید (بهطوری کهSnapexPay.phpوroutes.phpداخل آن باشند؛ نام باید با نام کلاس یکی باشد). با ایمیج Docker از/app/extensions/Gateways/SnapexPayاستفاده کنید. - اگر درگاه نمایش داده نشد،
composer dump-autoload -oوphp artisan optimize:clearرا اجرا کنید. - در Paymenter به Admin → Gateways → New بروید، SnapEX Pay را انتخاب کنید و کلید API (دسترسیهای
invoices.read،invoices.write) را از پنل SnapEX Pay وارد کنید. - در پنل → Developers آدرس وبهوک را
https://<your-paymenter>/extensions/snapexpay/webhookقرار دهید و رمزwhsec_…(فقط یک بار، هنگام اولین ذخیره آدرس، نمایش داده میشود) را در Webhook secret وارد کنید. - Environment را روی
testبگذارید، یک فاکتور را بپردازید و پرداخت تست را در صفحه SnapEX Pay تأیید کنید؛ فاکتور باید Paid شود. سپس بهliveبرگردید.
تنظیمات
| API key | از پنل SnapEX Pay → API keys، دسترسیهای invoices.read و invoices.write. |
|---|---|
| Webhook secret | رمز whsec_… مربوط به endpoint وبهوک. وبهوکهای بدون امضا یا با امضای نادرست رد میشوند. |
| Network fee paid by | merchant: مشتری مبلغ فاکتور را میپردازد و کارمزد از مبلغ دریافتی شما کسر میشود. customer: کارمزد SnapEX Pay و کارمزد شبکه به آن اضافه میشوند. |
| Payment window, minutes | ۱ تا ۱۴۴۰، پیشفرض ۶۰. |
| USD per 1 invoice currency | 1 اگر Paymenter به دلار صورتحساب میدهد؛ برای EUR با نرخ 1.08 دلار مقدار 1.08 را وارد کنید. |
| Environment | live یا test. |
| Partner ID | اختیاری: Partner ID یکپارچهسازی که ماژول را راهاندازی کرده است (برنامه معرفی SnapEX Pay). اگر خودتان نصب میکنید، خالی بگذارید. |
| API URL | بدون تغییر بگذارید. |
سؤالات
درگاه در Admin → Gateways نمایش داده نمیشود.
مسیر extensions/Gateways/SnapexPay/SnapexPay.php (حساس به حروف بزرگ و کوچک) و اینکه وبسرور بتواند آن را بخواند را بررسی کنید، سپس composer dump-autoload -o && php artisan optimize:clear را اجرا کنید.
مشتری پرداخت کرده اما فاکتور همچنان پرداختنشده است.
تحویلهای وبهوک را در پنل SnapEX Pay بررسی کنید. 400 invalid signature یعنی رمز مطابقت ندارد یا ساعت سرور اشتباه است؛ not_paid یعنی در آن لحظه پرداخت هنوز تأیید نشده بود و فاکتور با رسیدن وبهوک invoice.paid تسویه میشود.
مشتری کمتر از مبلغ فاکتور پرداخت کرده است.
فاکتورهایی که ناقص پرداخت شدهاند بهطور خودکار ثبت نمیشوند. پرداخت را در پنل SnapEX Pay بررسی کنید و تراکنش را دستی در Paymenter اضافه کنید.
آیا چند سایت Paymenter میتوانند از یک حساب SnapEX Pay استفاده کنند؟
هر سایت فقط فاکتورهای خودش را تسویه میکند (با هش APP_URL برچسب میخورند)، اما هر حساب SnapEX Pay فقط یک آدرس وبهوک دارد و افزونه پرداختها را فقط از طریق وبهوک ثبت میکند. پس فقط سایتی که بهعنوان وبهوک تنظیم شده، پرداختها را خودکار ثبت میکند.
یکپارچهسازیهای دیگر
آماده دریافت کریپتو هستید؟
حساب فروشنده بسازید، کلید API بگیرید و ماژول را وصل کنید. 1٪ برای هر پرداخت، بدون هزینه ماهانه.