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.
Install
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.zipWooCommerce Card-to-Card Payment Gateway
این افزونه یک راهحل مستقل، مدرن و امن برای پرداختهای کارت به کارت در فروشگاههای ووکامرسی است که نیاز به دریافت نماد اعتماد (اینماد)، قراردادهای بانکی شاپرک، مالیاتهای تحمیلی و سامانههای واسط را برطرف میکند.
- توسعهدهنده: آرمان محبعلی
- مخزن گیتهاب: https://github.com/Rmaawn/woo-card-to-card
📸 جریان تصویری عملکرد افزونه (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 فشرده کنید و از بخش پیشخوان وردپرس > افزونهها > افزودن > بارگذاری افزونه آن را آپلود و فعال کنید.
⚙️ تنظیمات و تعریف کارتها
- وارد پیشخوان وردپرس > ووکامرس > پیکربندی > زبانه پرداختها شوید.
- درگاه «کارت به کارت» را فعال و روی دکمه مدیریت کلیک کنید.
- در کادر «لیست کارتهای بانکی»، کارتهای خود را در هر خط به فرمت زیر وارد کنید:
شماره کارت | نام صاحب حساب | نام بانک | شماره شبامثال:
6037997512345678 | علی محمدی | بانک ملی ایران | IR120170000000012345678901 6104337890123456 | شرکت نمونه | بانک ملت | IR980120000000098765432100 - وضعیت پس از تایید مدیر (در حال انجام یا تکمیل شده) و اجباری بودن فیلدها را به دلخواه تنظیم و ذخیره کنید.
📄 مجوز (License)
این پروژه تحت مجوز GPL-2.0-or-later منتشر شده است.