WP Manifestindependent plugin directory
manifest / unclassified / woo-card-to-card

WooCommerce Card to Card Payment Gateway

A modern and secure card-to-card (P2P bank transfer) payment gateway for WooCommerce with receipt upload, anti-fraud detection, and multi-card management.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/rmaawn/woo-card-to-card/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

WooCommerce Card-to-Card Payment Gateway

این افزونه یک راه‌حل مستقل، مدرن و امن برای پرداخت‌های کارت به کارت در فروشگاه‌های ووکامرسی است که نیاز به دریافت نماد اعتماد (اینماد)، قراردادهای بانکی شاپرک، مالیات‌های تحمیلی و سامانه‌های واسط را برطرف می‌کند.


📸 جریان تصویری عملکرد افزونه (Visual Workflow)

در این بخش، مراحل فرآیند خرید، واریز وجه، ارسال فیش و بررسی توسط مدیر به تصویر کشیده شده است:


۱. انتخاب درگاه کارت به کارت در برگه تسویه حساب (Checkout)

مشتری در مرحله ثبت سفارش و تسویه حساب، گزینه درگاه پرداخت امن کارت به کارت را انتخاب می‌کند.

انتخاب درگاه کارت به کارت در برگه تسویه حساب


۲. برگه تشکر و اطلاعات کارت بانکی شتاب (Thank You Page)

پس از ثبت سفارش، مشتری به برگه تشکر منتقل می‌شود. در این صفحه:

  • تایمر هوشمند معکوس مهلت واریز وجه را شمارش می‌کند.
  • کارت بانکی شتاب با طراحی واقع‌گرایانه مشخصات حساب و نام بانک را نمایش می‌دهد.
  • امکان کپی سریع شماره کارت و شماره شبا با یک کلیک فراهم است.
  • فرم اختصاصی برای بارگذاری فیش بانکی با قابلیت انتخاب فایل یا Drag & Drop آماده است.

اطلاعات کارت بانکی و فرم ارسال فیش


۳. بارگذاری فیش پرداخت توسط خریدار (Receipt Uploaded)

مشتری تصویر فیش یا اسکرین‌شات رسید همراه بانک را آپلود کرده و پیام دریافت موفقیت‌آمیز فیش («فیش در حال بررسی است») به همراه پیش‌نمایش آن برای مشتری نمایش داده می‌شود.

وضعیت در انتظار بررسی پس از آپلود فیش


۴. پنل مدیریت وردپرس و اعتبارسنجی فیش (Admin Review)

در پیشخوان مدیریت فروشگاه و در صفحه جزئیات سفارش:

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

متاباکس بررسی فیش و اقدامات تایید در پنل ادمین


۵. تایید نهایی پرداخت و اطلاع‌رسانی به مشتری (Payment Approved)

پس از تایید فیش توسط مدیر، وضعیت سفارش به‌صورت خودکار تغییر کرده و پیام «پرداخت شما تایید شد» در پنل مشتری نمایش داده می‌شود.

تایید نهایی پرداخت در حساب کاربری مشتری


🌟 ویژگی‌های برجسته افزونه

۱. رابط کاربری جذاب و بومی (Persian Bank Card UI)

  • طرح بصری کارت‌های شتاب: طراحی مدرن شبیه به کارت بانکی فیزیکی به همراه نام بانک، تراشه، شماره ۱۶ رقمی، نام صاحب حساب و شماره شبا.
  • تشخیص خودکار نام و رنگ بانک: بر اساس ۶ رقم اول کارت (BIN)، بانک‌هایی مانند ملی، ملت، سامان، بلو، پاسارگاد، سپه، شهر، تجارت و ... شناسایی شده و پالت رنگی کارت هماهنگ می‌شود.
  • دکمه کپی فوری با ۱ کلیک: امکان کپی کردن شماره کارت، شماره شبا و مبلغ پرداختی با یک کلیک به همراه اعلان کپی.

۲. فرم ثبت فیش واریز بدون رفرش (Drag & Drop AJAX)

  • آپلود آسان: مشتری می‌تواند عکس فیش را از گالری گوشی یا سیستم کشیده و رها کند (Drag & Drop) یا انتخاب کند.
  • پیش‌نمایش زنده تصویر: نمایش بندانگشتی تصویر انتخابی قبل از ارسال برای اطمینان کاربر.
  • فیلدهای تکمیلی: ثبت کد پیگیری / شماره ارجاع بانکی و ۴ رقم آخر کارت پرداخت‌کننده.
  • دسترسی در تمام مراحل: فرم در صفحه تشکر خرید (Thank You Page) و همچنین بخش «حساب کاربری > سفارش‌های من > مشاهده سفارش» فعال است تا کاربر در صورت بستن صفحه بتواند بعداً فیش را بارگذاری کند.

۳. موتور هوشمند تشخیص فیش جعلی و تکراری (Anti-Fraud Guard)

  • محاسبه هش تصویر (MD5 Hashing): به محض آپلود، اثر انگشت دیجیتالی تصویر محاسبه می‌شود. اگر همان تصویر قبلاً برای سفارش دیگری آپلود شده باشد، سیستم فوراً در پنل ادمین اخطار قرمز نمایش می‌دهد:

    ⚠️ هشدار امنیتی شدید: این تصویر فیش دقیقاً در سفارش #۱۲۳۴ استفاده شده است!

  • بررسی یکتایی کد پیگیری: در صورت درج کد پیگیری تکراری که قبلاً در سفارش دیگری ثبت شده باشد، سفارش مشکوک علامت‌گذاری شده و لینک سفارش قبلی به ادمین داده می‌شود.

۴. پنل مدیریت پیشرفته و تسویه سریع در ووکامرس

  • متاباکس اختصاصی بررسی فیش: در برگه سفارش (سازگار با هر دو ساختار سنتی وردپرس و ساختار مدرن HPOS).
  • لایت‌باکس بزرگ‌نمایی تصویر (Zoom Modal): امکان دیدن فیش با وضوح اصلی در یک پنجره پاپ‌آپ تاریک بدون نیاز به دانلود عکس روی سیستم.
  • دکمه‌های اقدام سریع:
    • 🟢 تایید واریز وجه: با یک کلیک وضعیت سفارش را به «در حال انجام» (یا تکمیل شده) برده و لاگ تایید را به یادداشت‌های سفارش اضافه می‌کند.
    • 🔴 رد فیش: با درخواست علت رد (مثلاً مبلغ نامعتبر، فیش جعلی و...)، وضعیت سفارش را تغییر داده و یادداشت خصوصی/مشتری ثبت می‌کند.
  • ستون اختصاصی در لیست سفارش‌ها: نمایش نشان (Badge) فیش ارسالی، فیش تایید شده، یا اخطار تقلب.

۵. شمارش معکوس مهلت پرداخت و لغو خودکار (Payment Timer & Cron)

  • شمارش معکوس زنده: نمایش تایمر زمان باقیمانده برای واریز وجه در فرم تشکر خرید با جلوه انیمیشنی نبض هنگام رسیدن به دقایق پایانی.
  • کران جاب ساعتی خودکار: ابطال و لغو خودکار سفارش‌هایی که مهلت پرداخت آنها منقضی شده و هنوز فیش معتبری برای آنها ثبت نشده است.

۶. نمایشگر امن فیش با توکن اختصاصی (Secure Receipt Viewer)

  • محافظت در برابر دسترسی مستقیم و IDOR: دسترسی به فایل‌های فیش از طریق اندپوینت اختصاصی /c2c-receipt/{token} کنترل شده و تنها خریدار همان سفارش یا مدیر وب‌سایت مجاز به مشاهده آن هستند.
  • جلوگیری از دسترسی مستقیم به پوشه آپلود: مسدودسازی ایندکس دایرکتوری و اجرای هرگونه اسکریپت در پوشه آپلودها.

۷. اطلاع‌رسانی ایمیلی به مدیر (Admin Notifications)

  • ایمیل خودکار بارگذاری فیش: به محض ارسال فیش توسط مشتری، ایمیلی با لینک مستقیم برگه بررسی سفارش (سازگار با HPOS) برای مدیر فروشگاه ارسال می‌شود.

📁 ساختار فایل‌های پروژه

woo-card-to-card/
├── woo-card-to-card.php                 # فایل اصلی پلاگین، بوت‌استرپ و سازگاری HPOS
├── uninstall.php                        # پاک‌سازی استاندارد و ایمن داده‌ها هنگام حذف افزونه
├── readme.txt                           # شناسنامه استاندارد افزونه برای مخزن رسمی وردپرس
├── README.md                            # مستندات جامع راهنمای پروژه
├── LICENSE                              # مجوز رسمی انتشار (GPLv2 or later)
├── .gitignore                           # نادیده‌گیری فایل‌های سیستم و محیط‌های توسعه
├── .distignore                          # فایل‌های مستثنی‌شده در نسخه بیلد و توزیع
├── includes/
│   ├── class-c2c-gateway.php            # کلاس اصلی درگاه (ارث‌بری از WC_Payment_Gateway)
│   ├── class-c2c-order-status.php       # ثبت وضعیت اختصاصی «در انتظار بررسی فیش»
│   ├── class-c2c-card-manager.php       # دیتابیس بین‌بانکی شتاب، فرمت‌بندی و انتخاب کارت
│   ├── class-c2c-receipt-handler.php    # کنترلر آپلود، امنیت و موتور ضد تقلب
│   ├── class-c2c-receipt-viewer.php     # اندپوینت ایمن مشاهده فیش با توکن و احراز هویت
│   ├── class-c2c-notifications.php      # ارسال نوتیفیکیشن و ایمیل به مدیر پس از آپلود فیش
│   ├── class-c2c-cron.php               # کران‌جاب لغو خودکار سفارش‌های منقضی‌شده
│   └── class-c2c-admin.php              # متاباکس، ویجت پیشخوان و اکشن‌های دسته‌جمعی
├── templates/
│   ├── thankyou-receipt-form.php        # قالب صفحه تشکر و فرم ثبت فیش کاربر
│   └── admin-receipt-meta-box.php       # قالب متاباکس مدیریت فیش در پنل ادمین
├── assets/
│   ├── css/
│   │   ├── c2c-frontend.css             # استایل‌های واکنش‌گرا و مدرن فرانت‌اند و کارت بانکی
│   │   └── c2c-admin.css                # استایل‌های استاندارد متاباکس و پنل ادمین
│   ├── js/
│   │   ├── c2c-frontend.js              # تعاملات کپی، درگ‌واند‌دراپ و تایمر
│   │   └── c2c-admin.js                 # تایید و رد ایجکس در پنل ادمین
│   └── images/
│       ├── c2c-icon.svg                 # آیکون برداری درگاه به سبک Apple Wallet
│       └── screenshots/                 # محل قرارگیری اسکرین‌شات‌های ریدمی
└── languages/
    └── woo-card-to-card.pot             # فایل تمپلیت ترجمه و بومی‌سازی (i18n)

🚀 نحوه نصب و راه‌اندازی در وردپرس

روش ۱: کپی مستقیم

پوشه woo-card-to-card را در مسیر افزونه‌های وردپرس کپی کنید:

wp-content/plugins/woo-card-to-card/

روش ۲: فایل فشرده (Zip)

می‌توانید محتویات این پوشه را به صورت یک فایل ZIP فشرده کنید و از بخش پیشخوان وردپرس > افزونه‌ها > افزودن > بارگذاری افزونه آن را آپلود و فعال کنید.


⚙️ تنظیمات و تعریف کارت‌ها

  1. وارد پیشخوان وردپرس > ووکامرس > پیکربندی > زبانه پرداخت‌ها شوید.
  2. درگاه «کارت به کارت» را فعال و روی دکمه مدیریت کلیک کنید.
  3. در کادر «لیست کارت‌های بانکی»، کارت‌های خود را در هر خط به فرمت زیر وارد کنید:
    شماره کارت | نام صاحب حساب | نام بانک | شماره شبا

    مثال:

    6037997512345678 | علی محمدی | بانک ملی ایران | IR120170000000012345678901
    6104337890123456 | شرکت نمونه | بانک ملت | IR980120000000098765432100
  4. وضعیت پس از تایید مدیر (در حال انجام یا تکمیل شده) و اجباری بودن فیلدها را به دلخواه تنظیم و ذخیره کنید.

📄 مجوز (License)

این پروژه تحت مجوز GPL-2.0-or-later منتشر شده است.