مسیر اصلی این آموزش با افزونه Wallet for WooCommerce که با نام TeraWallet هم شناخته میشود انجام میشود. این افزونه برای هر مشتری موجودی جداگانه نگه میدارد، تراکنشهای افزایش و کاهش اعتبار را ثبت میکند و میتواند کیف پول را بهعنوان یکی از روشهای پرداخت ووکامرس در اختیار مشتری قرار دهد.
📌 نتیجه این آموزش:
در پایان، مشتری میتواند موجودی کیف پول خود را ببیند، حساب را شارژ کند و هنگام خرید از اعتبار موجود استفاده کند. همچنین یاد میگیرید چطور شارژ ناموفق، پرداخت جزئی، بازپرداخت، کشبک و خطاهای رایج کیف پول را کنترل کنید.
کیف پول مشتری در ووکامرس دقیقاً چیست؟
کیف پول ووکامرس در اصل یک حساب اعتباری داخلی برای هر مشتری است. مبلغی که داخل این کیف پول قرار میگیرد میتواند در خریدهای بعدی مصرف شود و پس از هر خرید، موجودی باقیمانده برای سفارشهای بعدی حفظ میشود.
برای مثال، اگر مشتری ۲ میلیون تومان اعتبار داشته باشد و سفارشی به مبلغ ۱ میلیون و ۲۰۰ هزار تومان ثبت کند، در صورت پرداخت کامل از کیف پول، ۱ میلیون و ۲۰۰ هزار تومان از موجودی کم میشود و ۸۰۰ هزار تومان برای خرید بعدی باقی میماند.
این مدل با کد تخفیف فرق دارد. کد تخفیف معمولاً قیمت سفارش را بر اساس یک قانون کاهش میدهد، اما کیف پول یک موجودی متعلق به حساب همان مشتری است و باید سابقه هر افزایش و کاهش آن قابل پیگیری باشد.
کیف پول، اعتبار فروشگاهی و کد تخفیف چه تفاوتی دارند؟
| روش | نحوه کار | بهترین کاربرد |
|---|---|---|
| کیف پول مشتری | موجودی جداگانه برای حساب مشتری همراه با ثبت تراکنش | شارژ حساب، پرداخت سفارش و باشگاه مشتریان |
| اعتبار فروشگاهی | اعتبار قابل مصرف در سفارشهای آینده | مرجوعی، هدیه و جبران سفارش |
| کد تخفیف | کاهش مبلغ سفارش بر اساس قانون تخفیف | کمپین فروش و تخفیف موقت |
برای ساخت کیف پول ووکامرس از چه افزونهای استفاده کنیم؟
برای این آموزش از افزونه Wallet for WooCommerce استفاده میکنیم. نسخهای که هنگام بازبینی این مقاله در دسترس است 1.7.3 است. این افزونه امکان شارژ کیف پول، پرداخت کامل یا جزئی، انتقال اعتبار بین کاربران، کشبک، مشاهده تاریخچه تراکنش و مدیریت موجودی مشتریان را فراهم میکند.
قابلیت برداشت موجودی به حساب بانکی جزو امکانات حرفهای نسخه پولی افزونه است و نباید آن را با امکانات نسخه رایگان اشتباه گرفت.
نسخه 1.7.3 در ۹ اکتبر ۲۰۲۶ منتشر شده و یک اصلاح امنیتی مهم دارد: پرداختهای آفلاین مانند انتقال بانکی، چک و پرداخت در محل نباید قبل از قطعیشدن پرداخت، اعتبار قابل مصرف در کیف پول ایجاد کنند.
⚠️ مهم:
اگر Wallet for WooCommerce از قبل روی سایت نصب است، قبل از فعالکردن شارژ کیف پول با روشهای آفلاین، نسخه افزونه و تنظیمات Allowed Payment Gateways را بررسی کنید.
پیشنیازهای نصب Wallet for WooCommerce
طبق اطلاعات فعلی مخزن WordPress.org، افزونه Wallet for WooCommerce حداقل به WordPress 6.4، WooCommerce 7.2، PHP 7.4 و MySQL 5.6 یا MariaDB 10.1 نیاز دارد.
این اعداد حداقل فنی افزونه هستند و به این معنی نیست که بهتر است فروشگاه خود را روی نسخههای قدیمی نگه دارید. هنگام نگارش این مقاله، WooCommerce 11.2.0 و WordPress 7.1.3 منتشر شدهاند.
پیش از نصب یا بهروزرسانی یک افزونه مالی روی فروشگاه فعال، از فایلها و پایگاه داده نسخه پشتیبان قابل بازیابی تهیه کنید.
📌 قبل از شروع، بکاپ داشته باشید
اگر هنوز برای فروشگاه نسخه پشتیبان خودکار ندارید، آموزش
ساخت بکاپ خودکار وردپرس روی S3
را بخوانید تا قبل از تغییر افزونههای مالی، امکان بازگردانی سایت را داشته باشید.
مرحله ۱: نصب افزونه کیف پول
وارد پیشخوان وردپرس شوید و از مسیر افزونهها ← افزودن افزونه تازه عبارت Wallet for WooCommerce را جستوجو کنید.
افزونه را نصب و سپس فعال کنید. اگر میخواهید فایل را مستقیماً از منبع رسمی دریافت کنید، از صفحه WordPress.org استفاده کنید:
دانلود Wallet for WooCommerce از WordPress.org
پس از فعالسازی، افزونه یک محصول مخفی با عنوانی شبیه Wallet Topup ایجاد میکند. این محصول برای فرایند شارژ کیف پول استفاده میشود و طبق مستندات افزونه باید در حالت Published و Private باقی بماند.
آن محصول را حذف نکنید و بدون دلیل نوع یا وضعیت آن را تغییر ندهید؛ زیرا ممکن است فرایند شارژ کیف پول دچار مشکل شود.
مرحله ۲: کیف پول را بهعنوان روش پرداخت فعال کنید
بعد از فعالشدن افزونه، وارد تنظیمات پرداخت ووکامرس شوید و بررسی کنید که روش پرداخت Wallet فعال باشد.
در نسخههای جدید ووکامرس معمولاً مسیر تنظیمات پرداخت از بخش WooCommerce ← Settings ← Payments در دسترس است. نام دقیق بخشها ممکن است با ترجمه وردپرس یا نسخه رابط مدیریت کمی متفاوت باشد.
کیف پول مانند یک درگاه پرداخت داخلی عمل میکند. اگر مشتری وارد حساب شده باشد و موجودی کافی داشته باشد، میتواند Wallet را هنگام تسویهحساب انتخاب کند.
مرحله ۳: قابلیت شارژ کیف پول را بررسی کنید
قابلیت شارژ یا Top-up به مشتری اجازه میدهد مبلغی را به موجودی خودش اضافه کند. مشتری وارد حساب کاربری میشود، مبلغ موردنظر را انتخاب یا وارد میکند و سپس مانند یک سفارش معمولی وارد فرایند پرداخت میشود.
نکته مهم این است که ساخت سفارش شارژ بهتنهایی نباید باعث افزایش موجودی شود. افزونه باید منتظر وضعیت معتبر پرداخت بماند.
⚠️ پرداخت آفلاین:
اگر کارتبهکارت، انتقال بانکی، چک یا پرداخت در محل دارید، حتماً بررسی کنید موجودی قبل از تأیید واقعی پرداخت قابل خرج نشود. این دقیقاً یکی از مواردی است که در نسخه 1.7.3 اصلاح امنیتی دریافت کرده است.
مرحله ۴: یک کیف پول آزمایشی بسازید
برای آزمایش، یک حساب مشتری معمولی ایجاد کنید. بهتر است آزمایش را با حساب مدیر سایت انجام ندهید تا تجربه واقعی مشتری را ببینید.
پس از ورود با حساب آزمایشی، بخش Wallet یا کیف پول را در «حساب من» باز کنید.
یک مبلغ کم برای شارژ انتخاب کنید و فرایند پرداخت را کامل انجام دهید.
بعد از پرداخت، سه مورد را بررسی کنید:
🔹 وضعیت سفارش شارژ باید با وضعیت واقعی پرداخت هماهنگ باشد.
🔹 موجودی کیف پول باید فقط یکبار افزایش پیدا کند.
🔹 در تاریخچه کیف پول باید یک تراکنش بستانکار با مبلغ درست ثبت شده باشد.
مرحله ۵: پرداخت سفارش از موجودی کیف پول
حالا با همان مشتری یک محصول عادی فروشگاه را به سبد خرید اضافه کنید و وارد صفحه پرداخت شوید.
اگر موجودی کیف پول به اندازه کل سفارش باشد و درگاه Wallet فعال باشد، گزینه کیف پول باید در میان روشهای پرداخت دیده شود.
پس از ثبت سفارش، موجودی باید دقیقاً به اندازه مبلغ مصرفشده کاهش پیدا کند و یک تراکنش بدهکار نیز در سابقه کیف پول ایجاد شود.
وجود این تراکنش بسیار مهم است؛ چون مدیر فروشگاه باید بتواند بعداً تشخیص دهد هر کاهش موجودی مربوط به کدام سفارش بوده است.
پرداخت جزئی از کیف پول چگونه کار میکند؟
Wallet for WooCommerce از پرداخت جزئی نیز پشتیبانی میکند. یعنی اگر موجودی مشتری از مبلغ سفارش کمتر باشد، میتوان بخشی از سفارش را از کیف پول کم کرد و باقی مبلغ را از یک درگاه دیگر پرداخت کرد.
برای مثال، اگر موجودی مشتری ۵۰۰ هزار تومان و مبلغ سفارش ۸۰۰ هزار تومان باشد، امکان دارد ۵۰۰ هزار تومان از کیف پول مصرف شود و ۳۰۰ هزار تومان باقیمانده با درگاه بانکی پرداخت شود.
این قابلیت باید در تنظیمات مربوط فعال باشد. در غیر این صورت، ممکن است Wallet فقط زمانی در روشهای پرداخت دیده شود که موجودی مشتری برای کل سفارش کافی باشد.
چرا گزینه Wallet در صفحه پرداخت نمایش داده نمیشود؟
اگر کیف پول در صفحه تسویهحساب دیده نمیشود، ابتدا این موارد را به ترتیب بررسی کنید.
۱. کاربر وارد حساب نشده است: کیف پول به حساب کاربری متصل است و برای کاربر مهمان معمولاً قابل استفاده نیست.
۲. Wallet Gateway غیرفعال است: وارد تنظیمات پرداخت ووکامرس شوید و وضعیت روش Wallet را بررسی کنید.
۳. موجودی کافی نیست: اگر پرداخت جزئی فعال نباشد، افزونه فقط زمانی Wallet را نشان میدهد که موجودی برای کل مبلغ سفارش کافی باشد.
۴. کیف پول مشتری قفل شده است: مدیر میتواند کیف پول بعضی کاربران را قفل کند.
۵. افزونه دیگری Checkout را تغییر داده است: افزونه فعلی از Checkout Blocks ووکامرس پشتیبانی میکند، اما افزونههای دیگر صفحه پرداخت یا قالب سفارشی ممکن است تداخل ایجاد کنند.
اگر بعد از بهروزرسانی صفحه کیف پول 404 شد چه کنیم؟
طبق راهنمای افزونه، اگر پس از بهروزرسانی Endpointهای کیف پول بهدرستی باز نشدند، ابتدا وارد مسیر Settings ← Permalinks شوید و بدون تغییر تنظیمات، یک بار دکمه ذخیره را بزنید.
این کار قوانین Rewrite وردپرس را دوباره تولید میکند و در بسیاری از موارد مشکل آدرس بخش کیف پول را برطرف میکند.
کشبک در کیف پول ووکامرس چیست؟
کشبک یعنی پس از یک خرید واجد شرایط، مقداری اعتبار به کیف پول مشتری برگردد تا در خرید بعدی استفاده شود.
Wallet for WooCommerce امکان تعریف کشبک بر اساس کل سبد، محصول یا دستهبندی را دارد.
مثلاً میتوانید برای یک گروه خاص از محصولات، درصدی از خرید را بهعنوان اعتبار بازگشتی در نظر بگیرید.
اما قبل از فعالکردن کشبک، زمان ثبت اعتبار را مشخص کنید. بهتر است اعتبار زمانی قطعی شود که سفارش به وضعیتی برسد که از نظر فروشگاه شما پرداخت و انجام آن قابل اعتماد است.
آیا کیف پول برای مرجوعی سفارش مناسب است؟
میتوان مبلغ یک بازپرداخت را در قالب اعتبار فروشگاه یا کیف پول به مشتری برگرداند، اما این تصمیم فقط فنی نیست.
قبل از جایگزینکردن بازپرداخت بانکی با اعتبار فروشگاهی، سیاست مرجوعی، شرایط فروش و انتخاب مشتری را در نظر بگیرید.
از دید فنی نیز تراکنش برگشت اعتبار باید مرجع مشخصی داشته باشد تا بعداً بتوان فهمید این مبلغ مربوط به کدام سفارش یا Refund بوده است.
انتقال موجودی بین کاربران
Wallet for WooCommerce امکان انتقال اعتبار بین کاربران ثبتشده را نیز دارد. این قابلیت میتواند برای بعضی فروشگاهها کاربردی باشد، اما ضروری نیست.
اگر فروشگاه شما نیازی به انتقال اعتبار بین مشتریان ندارد، فعالکردن امکانات مالی اضافه فقط سطح پیچیدگی و احتمال سوءاستفاده را بیشتر میکند.
آیا مشتری میتواند پول کیف پول را برداشت کند؟
برداشت موجودی با شارژ و مصرف اعتبار فرق دارد. در نسخه فعلی Wallet for WooCommerce، قابلیت درخواست برداشت وجه جزو امکانات نسخه حرفهای افزونه معرفی شده است.
اگر قصد دارید موجودی مشتری واقعاً قابل برداشت باشد، موضوع را فقط به یک گزینه افزونه محدود نکنید. فرایند تأیید درخواست، اطلاعات بانکی، جلوگیری از سوءاستفاده، ثبت مالی و مقررات کسبوکار شما نیز باید بررسی شود.
Wallet با Store Credit چه تفاوتی دارد؟
WooCommerce برای اعتبار فروشگاهی راهکارهایی مانند Store Credit هم دارد. Store Credit معمولاً بر پایه کوپن اعتباری کار میکند. مشتری میتواند اعتبار را در چند خرید مصرف کند تا مبلغ آن تمام شود و اگر مبلغ سفارش بیشتر از اعتبار باشد، اختلاف را با روش دیگری پرداخت کند.
Store Credit برای مواردی مثل هدیه، اعتبار جبرانی، اعتبار مرجوعی یا محدودکردن اعتبار به محصول و دسته خاص مناسب است.
اما اگر هدف شما این است که مشتری در حساب خود یک موجودی واضح، صفحه شارژ، تاریخچه بدهکار و بستانکار و درگاه پرداخت Wallet داشته باشد، ساختار کیف پول به نیاز شما نزدیکتر است.
Account Funds چه زمانی انتخاب بهتری است؟
Account Funds یکی دیگر از راهکارهای WooCommerce برای نگهداری اعتبار مشتری است. این افزونه امکان شارژ حساب، پرداخت با اعتبار، پرداخت جزئی و پاداشهای مختلف را دارد.
اگر هدف اصلی شما ساخت باشگاه مشتریان، پاداش خرید، اعتبار دورهای یا سیستم وفاداری پیچیدهتر است، Account Funds ارزش مقایسه دارد.
| نیاز فروشگاه | گزینه مناسبتر | دلیل |
|---|---|---|
| شارژ و پرداخت از موجودی | Wallet | تجربه مستقیم کیف پول و دفتر تراکنش |
| هدیه یا جبران سفارش | Store Credit | اعتبار مبتنی بر کوپن و محدودیت مصرف |
| سیستم وفاداری و پاداش | Account Funds | پاداش، کشبک، اعتبار و پرداخت جزئی |
چرا فقط ذخیره یک عدد برای موجودی کافی نیست؟
اگر قصد دارید کیف پول را اختصاصی برنامهنویسی کنید، یکی از اشتباههای رایج این است که فقط یک مقدار داخل پروفایل کاربر ذخیره شود و هنگام خرید کم و زیاد شود.
برای یک سیستم مالی قابل پیگیری، خود عدد موجودی کافی نیست. باید مشخص باشد چه عملیاتی باعث هر تغییر شده است.
| بخش | کاربرد |
|---|---|
| موجودی حساب | نمایش اعتبار فعلی مشتری |
| دفتر تراکنش | ثبت هر افزایش و کاهش اعتبار |
| مرجع سفارش | اتصال تراکنش به سفارش یا بازپرداخت |
| شناسه یکتا | جلوگیری از ثبت دوباره یک عملیات |
| کنترل همزمانی | جلوگیری از دوبار خرجشدن یک موجودی |
| ثبت مدیر | مشخصکردن دلیل تغییر دستی اعتبار |
خود Wallet for WooCommerce در نسخه فعلی از یک ساختار دفتر تراکنش استفاده میکند و سازنده افزونه به استفاده از قفل سطح SQL برای جلوگیری از شرایط رقابتی در تغییر موجودی اشاره کرده است.
زیرساخت فروشگاه را قبل از اضافهکردن امکانات مالی بررسی کنید
کیف پول، سفارش، درگاه پرداخت و دیتابیس همزمان با هم درگیر هستند. اگر فروشگاه شما در صفحه تسویهحساب کند شده یا با افزایش سفارشها به منابع بیشتری نیاز دارد، بهتر است میزبانی را هم متناسب با حجم واقعی فروشگاه انتخاب کنید.
تماس با پشتیبانی ایرانیکاسرور:
021-91302467
امنیت کیف پول مشتری را جدی بگیرید
هر سیستمی که موجودی قابل خرج ایجاد میکند بخشی از مسیر مالی فروشگاه است. بنابراین نباید مانند یک افزونه ظاهری با آن برخورد کرد.
دسترسی تغییر موجودی مشتری را فقط به مدیرانی بدهید که واقعاً به آن نیاز دارند.
اگر مدیر بهصورت دستی اعتبار اضافه یا کم میکند، دلیل تغییر باید ثبت شود.
حسابهای مدیریتی را با رمز عبور قوی و ورود دومرحلهای محافظت کنید.
روشهای پرداخت مجاز برای شارژ کیف پول را بررسی کنید و بهخصوص پرداختهای آفلاین را بدون تست فعال نکنید.
اگر قابلیت انتقال اعتبار، برداشت وجه یا پاداش روزانه برای فروشگاه شما لازم نیست، صرفاً به دلیل موجودبودن گزینه آنها را فعال نکنید.
آزمایشهایی که قبل از انتشار باید انجام دهید
آزمایش شارژ موفق: یک پرداخت آزمایشی انجام دهید و بررسی کنید موجودی فقط یکبار افزایش پیدا کند.
آزمایش پرداخت کامل: موجودی بیشتر از مبلغ سفارش قرار دهید و خرید را کاملاً از کیف پول انجام دهید.
آزمایش موجودی ناکافی: موجودی را کمتر از مبلغ سفارش قرار دهید و رفتار پرداخت جزئی را بررسی کنید.
آزمایش پرداخت ناموفق: یک سفارش شارژ ناموفق ایجاد کنید و مطمئن شوید اعتبار قابل مصرف اضافه نمیشود.
آزمایش لغو سفارش: سفارش پرداختشده با کیف پول را لغو کنید و بررسی کنید رفتار بازگشت اعتبار همان چیزی باشد که انتظار دارید.
آزمایش Refund: بازپرداخت انجام دهید و تاریخچه تراکنش کیف پول را با سفارش مقایسه کنید.
آزمایش Checkout Block: اگر صفحه پرداخت فروشگاه بلوکی است، پرداخت کامل و جزئی را روی همان Checkout واقعی بررسی کنید.
اگر مشتری دوبار شارژ شد چه کنیم؟
اول تاریخچه تراکنشهای کیف پول و سفارشهای شارژ را کنار هم بررسی کنید.
اگر دو سفارش پرداختشده وجود دارد، احتمالاً دو پرداخت واقعی انجام شده است. اگر فقط یک سفارش وجود دارد اما دو اعتبار ثبت شده، باید مشخص شود کدام رویداد یا Hook عملیات افزایش موجودی را دوبار اجرا کرده است.
در سیستم اختصاصی، برای جلوگیری از این مشکل هر عملیات مالی باید یک شناسه مرجع یکتا داشته باشد تا همان سفارش نتواند دوباره اعتبار ایجاد کند.
اگر موجودی اشتباه شد، مستقیم عدد را تغییر دهیم؟
در فروشگاه واقعی بهتر است تغییر موجودی بدون سابقه انجام نشود. اگر مدیر مجبور است مبلغی را اصلاح کند، تغییر باید به شکل تراکنش افزایش یا کاهش همراه با توضیح ثبت شود.
این کار باعث میشود چند ماه بعد هم بتوانید بفهمید چرا موجودی مشتری با مبلغ سفارشها متفاوت است.
پرسشهای متداول درباره کیف پول ووکامرس
آیا Wallet for WooCommerce رایگان است؟
نسخه اصلی افزونه در WordPress.org رایگان است و قابلیتهای اصلی کیف پول، شارژ، پرداخت، انتقال اعتبار و کشبک را ارائه میدهد. برخی امکانات مانند برداشت وجه، انقضای موجودی و گزارشهای پیشرفته در نسخه حرفهای قرار دارند.
آیا مشتری میتواند خودش کیف پول را شارژ کند؟
بله. مشتری میتواند از بخش حساب کاربری مبلغی را برای شارژ انتخاب کند و با یکی از روشهای پرداخت مجاز فروشگاه آن را پرداخت کند.
آیا میتوان بخشی از سفارش را از کیف پول پرداخت کرد؟
بله. افزونه از پرداخت جزئی پشتیبانی میکند و در صورت فعالبودن این قابلیت، بخشی از مبلغ از موجودی کم و باقی سفارش با درگاه دیگری پرداخت میشود.
چرا Wallet در Checkout دیده نمیشود؟
دلایل رایج شامل واردنبودن مشتری به حساب، غیرفعالبودن درگاه Wallet، کافینبودن موجودی، غیرفعالبودن پرداخت جزئی یا قفلبودن کیف پول کاربر است.
آیا Store Credit همان کیف پول است؟
خیر. Store Credit معمولاً بر اساس اعتبار یا کوپن فروشگاهی کار میکند، در حالی که Wallet تجربه یک موجودی حساب با شارژ، تراکنش و روش پرداخت را ارائه میدهد.
آیا میتوان اعتبار سفارش مرجوعی را به کیف پول برگرداند؟
از نظر فنی امکان مدیریت بازگشت اعتبار وجود دارد، اما باید سیاست بازپرداخت فروشگاه و انتخاب مشتری نیز رعایت شود و تراکنش برگشت اعتبار به سفارش اصلی قابل ردیابی باشد.
جمعبندی
اگر هدف شما این است که مشتری بتواند حسابش را شارژ کند، اعتبار نگه دارد و در خریدهای بعدی از همان موجودی استفاده کند، Wallet for WooCommerce یکی از راهکارهای مناسب برای شروع است. مهمتر از نصب افزونه، تنظیم درست زمان افزایش اعتبار، روشهای پرداخت مجاز، پرداخت جزئی، بازپرداخت و ثبت تراکنشهاست. قبل از فعالکردن کیف پول برای همه مشتریان، تمام مسیر را با یک حساب آزمایشی و مبلغ کم بررسی کنید.
منابع رسمی
Wallet for WooCommerce در WordPress.org
— مشخصات افزونه، نیازمندیها، قابلیتها و تغییرات نسخه 1.7.3.
مستندات Account Funds ووکامرس
— توضیح اعتبار حساب، پاداش، شارژ و پرداخت جزئی.
مستندات Store Credit ووکامرس
— نحوه ایجاد و مصرف اعتبار فروشگاهی مبتنی بر کوپن.
یادداشت انتشار WooCommerce 11.2.0
— اطلاعات نسخه جاری ووکامرس در زمان بازبینی مقاله.
WordPress 7.1.3 Maintenance and Security Release
— اطلاعات نسخه وردپرس در زمان بازبینی مقاله.
برای بررسی فروشگاه یا کانفیگ سرور کمک میخواهید؟
اگر هنگام نصب افزونه کیف پول، پرداخت سفارش، اتصال درگاه، کندی دیتابیس یا مصرف بالای منابع با مشکل روبهرو شدهاید، میتوانید درخواست بررسی ثبت کنید تا وضعیت فروشگاه و سرویس میزبانی شما متناسب با همان مشکل بررسی شود.
تماس با پشتیبانی ایرانیکاسرور:
021-91302467






دیدگاهها (۰)