WP Manifestindependent plugin directory
manifest / ecommerce / spotplayer_plugin_landing

پلاگین فروش دوره سریع در اسپات پلیر

خیلی سریع با این پلاگین میتونی دورت رو بهش متصل کنی و هم با کارت به کارت و هم با درگاه پرداخت آنلاین ازش استفاده کنی

by Arash fadaee · github.com/arashfadaee/spotplayer_plugin_landing · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/arashfadaee/spotplayer_plugin_landing/archive/refs/heads/main.zip

Declares an update source (https://example.com/my-plugin/), so updates arrive through the plugin's own updater.

Readme

پلاگین «فروش دوره سریع در اسپات پلیر»

این پلاگین امکان اتصال دوره‌های اسپات‌پلیر به ووکامرس و فروش سریع را فراهم می‌کند. دو روش پرداخت پشتیبانی می‌شود: کارت‌به‌کارت (با آپلود رسید) و درگاه آنلاین. همچنین گزارش خریدها در بخش تنظیمات با جستجوی ایجکسی و صفحه‌بندی ارائه می‌شود و برای سفارش‌های «در انتظار تایید رسید» اعلان تلگرام به ادمین ارسال می‌گردد.

امکانات

  • ثبت سفارش کارت‌به‌کارت به‌همراه آپلود تصویر رسید و وضعیت سفارشی در انتظار تایید رسید.
  • ارسال اعلان تلگرام به ادمین با نام خریدار، شماره تماس و تصویر رسید.
  • گزارش خریداران در صفحه تنظیمات با جستجو (نام / ۴ رقم شماره) و فیلتر محصول، به‌صورت ایجکس.
  • دکمه «کپی لایسنس» در گزارش برای کپی سریع لایسنس.
  • شورتکد spotplayer_landing برای درج باکس فروش در صفحات.
  • ویجت المنتور (در صورت فعال‌سازی در تنظیمات).

نصب

  1. پوشه پلاگین باید دقیقاً به‌صورت زیر بسته‌بندی و نصب شود:
    • spotplayer-landing/ شامل فایل‌های اصلی از جمله core.php و پوشه‌های inc/ و assets/.
    • فایل هدر اصلی پلاگین در core.php است؛ زیپ باید پوشه‌ی spotplayer-landing را در سطح اول داشته باشد.
  2. از طریق پیشخوان وردپرس > افزونه‌ها > افزودن > بارگذاری، زیپ را نصب و فعال کنید.
  3. مطمئن شوید ووکامرس فعال است.

پیکربندی

به «تنظیمات پلاگین فروش دوره در اسپات پلیر» (صفحه Codestar پلاگین) بروید و موارد لازم را تکمیل کنید:

  • «شناسه محصول ووکامرس» برای مپ کردن محصول فروش دوره.
  • «فعال‌سازی پرداخت کارت‌به‌کارت»، و فیلدهای «شماره کارت» و «نام صاحب کارت».
  • تنظیمات ارتباط با اسپات‌پلیر (کلید API، سطح دسترسی، شناسه دوره‌ها و …) در صورت نیاز.
  • درگاه آنلاین (مثلاً زیبال) در صورت استفاده.

پرداخت کارت‌به‌کارت

  • کاربر در فرانت فرم کارت‌به‌کارت را تکمیل و تصویر رسید را آپلود می‌کند.
  • سفارش جدید در ووکامرس ایجاد می‌شود و وضعیت آن به در انتظار تایید رسید تغییر می‌کند.
  • تصویر رسید در رسانه وردپرس ذخیره و متای _receipt_attachment_id روی سفارش ثبت می‌گردد.
  • یک ایمیل اطلاع‌رسانی برای ادمین ارسال می‌شود.
  • اگر ربات تلگرام پیکربندی شده باشد، اعلان تلگرام ارسال می‌گردد.

ربات تلگرام

  • فایل مربوط: inc/bot.php.
  • دو ثابت را مقداردهی کنید:
    • SPOTPLAY_TG_TOKEN = توکن ربات تلگرام.
    • SPOTPLAY_TG_ADMIN_CHAT_ID = چت‌آی‌دی ادمین (مثلاً عدد کاربر یا آی‌دی گروه).
  • محتوای اعلان شامل شناسه سفارش، نام، شماره تلفن و در صورت وجود، تصویر رسید است.
  • دو دکمه‌ی شیشه‌ای با لینک‌های امن ادمین:
    • «تایید سفارش و ایجاد لایسنس» (وضعیت به Completed، اجرای ساخت لایسنس اگر spl_handle_order_completed موجود باشد)
    • «لغو سفارش» (وضعیت به Cancelled)
  • نکته: برای اجرای این دکمه‌ها باید داخل وردپرس لاگین باشید؛ لینک‌ها شامل نانس امنیتی هستند.
  • اگر می‌خواهید دکمه‌ها در خود تلگرام و بدون بازشدن مرورگر عمل کنند، می‌توانیم وبهوک ربات و callback_data را پیاده‌سازی کنیم (قابل سفارش).
  • محدودیت لوکال‌هاست: اگر سایت روی MAMP/localhost است، تلگرام نمی‌تواند تصویر رسید با URL داخلی را دریافت کند. در این حالت یا روی دامنه عمومی تست کنید یا اعلان را به صورت متن ارسال کنید.

گزارش خریداران (Buyer Report)

  • مسیر: صفحه تنظیمات پلاگین.
  • جستجو بر اساس نام یا حداقل ۴ رقم شماره موبایل؛ فیلتر محصول نیز قابل استفاده است.
  • نتایج و صفحه‌بندی به صورت ایجکس داخل باکس نتایج بروزرسانی می‌شود.
  • ستون لایسنس به‌جای نمایش مستقیم، دکمه «کپی لایسنس» دارد که با کلیک، لایسنس روی کلیپ‌بورد کپی می‌شود.

شورتکد

  • از شورتکد spotplayer_landing برای نمایش باکس فروش در یک برگه استفاده کنید.
  • اسکریپت‌های فرانت (assets/js/main.js) و داده‌های لازم (مثل ajax_url, nonce, product_id) با wp_localize_script تزریق می‌شوند.

ویجت المنتور

  • اگر المنتور فعال است و گزینه‌ی مربوطه را در تنظیمات روشن کنید، ویجت «Spotplayer Landing» رجیستر می‌شود و می‌توانید آن را در صفحه‌ساز استفاده کنید.

ای‌پی‌آی‌ها و هوک‌ها

  • wp_ajax_spotplayer_landing_card_submit و wp_ajax_nopriv_spotplayer_landing_card_submit: ثبت سفارش کارت‌به‌کارت و آپلود رسید.
  • wp_ajax_spotplay_buyer_report_search: جستجوی ایجکسی گزارش خریداران.
  • wp_ajax_spotplay_tg_order_action: اجرای تایید/لغو سفارش از طریق دکمه‌های تلگرام (نیازمند لاگین و نانس).
  • وضعیت سفارشی: wc-awaiting-receipt برای سفارش‌های منتظر تایید رسید.

نکات و عیب‌یابی

  • خطای «این افزونه header معتبر ندارد»: زیپ را طوری بسازید که پوشه‌ی spotplayer-landing در سطح اول باشد و core.php با هدر معتبر در همان پوشه قرار گیرد. زیپ کردن پوشه‌ی پلاگین به‌صورت مستقیم مشکل را حل می‌کند.
  • ایجکس کار نمی‌کند یا صفحه رفرش می‌شود:
    • اسکریپت مدیریت admin-buyer-report.js و وابستگی به jQuery باید بارگذاری شوند.
    • در گزارش خریداران، نوار جستجو به‌صورت دکمه/اینپوت است (فرم داخلی ندارد) تا از ارسال فرم اصلی تنظیمات جلوگیری شود.
    • وجود ajaxurl یا آبجکت محلی‌سازی (spotplayerLanding.ajax_url) را بررسی کنید.
  • تلگرام تصویر را ارسال نمی‌کند: آدرس فایل باید عمومی باشد؛ روی لوکال‌هاست امکان دانلود توسط تلگرام نیست.
  • ساخت لایسنس: اگر فانکشن spl_handle_order_completed را دارید، بعد از تایید سفارش، تولید لایسنس از آن مسیر انجام می‌شود.

تغییرات اخیر

  • افزودن اعلان تلگرام برای سفارش‌های «در انتظار تایید رسید» با دکمه‌های تایید و لغو.
  • اصلاح ساختار جستجو و صفحه‌بندی گزارش به صورت ایجکس و حذف فرم داخلی تودرتو.
  • افزودن دکمه «کپی لایسنس» در جدول گزارش.

امنیت

  • تمام درخواست‌های ایجکس با نانس بررسی می‌شوند.
  • لینک‌های کنترل سفارش در تلگرام نیازمند لاگین ادمین و دارای نانس هستند.
  • محدودیت نوع/حجم فایل رسید (فقط JPG/PNG تا ۲ مگابایت).

نیازمندی‌ها

  • وردپرس 5.2+ و PHP 7.4+.
  • ووکامرس فعال.
  • برای اعلان تلگرام، دسترسی خروجی به اینترنت و تنظیم توکن/چت‌آی‌دی.

پشتیبانی

برای سفارشی‌سازی بیشتر (وبهوک تلگرام، تنظیمات UI، درگاه‌های جدید، گزارش‌های تکمیلی)، با توسعه‌دهنده پلاگین تماس بگیرید.

Read the full README on GitHub →