خلاصه پروژه
این پروژه یک افزونه اختصاصی ووکامرس برای جایگزینی صفحه پرداخت پیش فرض فروشگاه است. فرایند ثبت سفارش به سه مرحله اطلاعات مشتری، روش تحویل و پرداخت تقسیم شده و کاربر تنها پس از تکمیل صحیح هر مرحله می تواند وارد مرحله بعد شود. خلاصه سبد خرید، محصول نمونه، تعداد بسته، تاریخ تحویل، مالیات، تخفیف و مبلغ نهایی در همین مسیر نمایش داده می شوند. تمام تغییرات با استفاده از هوک ها و فیلترهای ووکامرس انجام شده اند و هیچ تغییری در هسته وردپرس یا ووکامرس ایجاد نشده است.
نکات برجسته پروژه
- تبدیل پرداخت ووکامرس به فرایند سه مرحله ای
- اعتبارسنجی اطلاعات پیش از ورود به هر مرحله
- انتخاب روش دریافت و تاریخ تحویل سفارش
- نمایش جزئیات محصول، تعداد بسته و محصولات نمونه
- اتصال به PayPal، Stripe و Klarna
- توسعه صفحه تشکر و ایمیل سفارش اختصاصی
تصویر کامل صفحه پروژه
تصاویر بیشتر از بخشهای پروژه
توضیحات پروژه
فرایند پرداخت مرحله ای
صفحه پرداخت به سه مرحله اطلاعات مشتری، روش تحویل و پرداخت تقسیم شده است. هر مرحله اعتبارسنجی مستقل دارد و تا زمانی که اطلاعات ضروری آن کامل نباشد، امکان ادامه فرایند وجود ندارد.
مدیریت تحویل و جزئیات سفارش
کاربر می تواند میان تحویل به آدرس یا دریافت حضوری انتخاب کند و برای سفارش خود تاریخ دریافت مشخص کند. در خلاصه سفارش نیز تصویر، عنوان، نوع محصول، تعداد بسته، متراژ، تخفیف، مالیات و هزینه ارسال نمایش داده می شود.
پرداخت و ورود اختصاصی
افزونه امکان اتصال به روش های پرداخت PayPal، Stripe و Klarna را فراهم می کند. سیستم ورود نیز با صفحه پرداخت هماهنگ شده تا کاربر پس از ورود دوباره به Checkout بازگردد و محصولات سبد خرید او حفظ شوند.
ساختار توسعه و خروجی سفارش
منطق افزونه با ساختار کلاس محور PHP توسعه داده شده و تغییرات ووکامرس از طریق اکشن ها و فیلترها اعمال می شوند. صفحه تشکر و ایمیل ارسالی سفارش نیز متناسب با اطلاعات ثبت شده در فرایند پرداخت بازطراحی شده اند.
ابزارها و تکنولوژیها
توسعه افزونه پرداخت مرحله ای ووکامرس
افزونه پرداخت مرحله ای ووکامرس برای بازطراحی کامل مسیر ثبت سفارش یک فروشگاه اینترنتی توسعه داده شد. صفحه پرداخت پیش فرض ووکامرس برای این پروژه پاسخگوی نوع محصولات، روش تحویل و اطلاعات مورد نیاز فروشگاه نبود. به همین دلیل یک فرایند اختصاصی طراحی شد که کاربر را از ثبت اطلاعات شخصی تا انتخاب روش دریافت و انجام پرداخت، در چند مرحله مشخص هدایت می کند.
در این افزونه، صفحه Checkout به سه مرحله اطلاعات مشتری، روش تحویل و روش پرداخت تقسیم شده است. وضعیت هر مرحله در بالای صفحه نمایش داده می شود و کاربر می تواند به صورت واضح مشاهده کند که در کدام قسمت از فرایند ثبت سفارش قرار دارد. این ساختار از طولانی شدن صفحه پرداخت جلوگیری می کند و اطلاعات را در بخش های قابل فهم قرار می دهد.
چالش اصلی پروژه
یکی از چالش های اصلی، تغییر کامل ظاهر و رفتار صفحه پرداخت بدون دستکاری فایل های هسته ووکامرس بود. افزونه باید از سیستم سفارش، مالیات، کد تخفیف، روش های ارسال و درگاه های پرداخت ووکامرس استفاده می کرد، اما خروجی آن از نظر ساختار و تجربه کاربری با Checkout پیش فرض تفاوت زیادی داشت.
چالش دیگر، حفظ وضعیت کاربر میان مراحل مختلف بود. اطلاعات وارد شده، محصولات سبد خرید، نوع محصول، تعداد بسته ها، تاریخ دریافت و روش پرداخت باید تا پایان فرایند حفظ می شدند. همچنین اگر کاربر در میانه پرداخت وارد حساب خود می شد، لازم بود پس از ورود دوباره به همان صفحه بازگردد و سبد خرید او بدون تغییر باقی بماند.
فرایند پرداخت سه مرحله ای
مرحله اول برای دریافت اطلاعات مشتری و آدرس صورتحساب در نظر گرفته شده است. کاربر می تواند از آدرس تحویل برای صورتحساب استفاده کند یا آدرس دیگری وارد کند. تا زمانی که فیلدهای ضروری به شکل صحیح تکمیل نشوند، مرحله ارسال در دسترس قرار نمی گیرد.
در مرحله دوم، کاربر میان تحویل سفارش به آدرس و دریافت حضوری انتخاب می کند. برای سفارش هایی که نیاز به ارسال دارند، امکان انتخاب تاریخ دریافت نیز وجود دارد. تاریخ های قابل انتخاب براساس شرایط تعریف شده فروشگاه نمایش داده می شوند و تاریخ انتخاب شده همراه با سفارش ذخیره می شود.
مرحله سوم شامل انتخاب روش پرداخت، پذیرش قوانین فروشگاه و ثبت نهایی سفارش است. پلاگین قابلیت هماهنگی با PayPal، Stripe و Klarna را دارد و روش های فعال را براساس تنظیمات ووکامرس به کاربر نمایش می دهد.
امکانات پیاده سازی شده در صفحه پرداخت
- تقسیم صفحه پرداخت به مراحل اطلاعات، ارسال و پرداخت
- اعتبارسنجی اطلاعات پیش از ورود به مرحله بعد
- نمایش تصویر، عنوان و نوع محصولات موجود در سبد خرید
- تشخیص محصولات نمونه و نمایش برچسب Sample Product
- نمایش تعداد بسته و متراژ مربوط به محصول خریداری شده
- انتخاب روش تحویل به آدرس یا دریافت حضوری
- انتخاب تاریخ دریافت سفارش از طریق تقویم
- افزودن و اعمال کد تخفیف در صفحه پرداخت
- محاسبه مالیات، هزینه ارسال، تخفیف و مبلغ نهایی
- بازگشت کاربر به Checkout پس از ورود به حساب
خلاصه سفارش و محاسبات مالی
خلاصه سبد خرید در تمام مراحل در کنار فرم پرداخت باقی می ماند. کاربر می تواند محصولات، تعداد آیتم ها، تعداد بسته ها، متراژ، مبلغ هر محصول و جزئیات مالی سفارش را مشاهده کند. بخش محاسبات شامل مبلغ اولیه، هزینه ارسال، تخفیف، مالیات و مبلغ نهایی است.
اگر محصول به عنوان نمونه تعریف شده باشد، افزونه آن را از محصولات عادی تشخیص می دهد و برچسب مربوط به محصول نمونه را نمایش می دهد. این ویژگی باعث می شود محصولات نمونه و سفارش های اصلی در یک سبد خرید قرار بگیرند، اما نوع هر آیتم برای کاربر و مدیر فروشگاه مشخص باقی بماند.
توسعه افزونه بدون تغییر هسته ووکامرس
ساختار افزونه با برنامه نویسی کلاس محور در PHP توسعه داده شده است. قابلیت ها در کلاس های جداگانه قرار گرفته اند تا مدیریت بخش های مربوط به مراحل پرداخت، اطلاعات سفارش، ارسال، درگاه ها و صفحه تشکر ساده تر باشد.
تمام تغییرات با استفاده از هوک ها، اکشن ها و فیلترهای ووکامرس اعمال شده اند. هیچ فایل اصلی از هسته وردپرس یا ووکامرس ویرایش نشده است. در نتیجه به روزرسانی ووکامرس باعث حذف مستقیم تغییرات افزونه نمی شود و منطق اختصاصی پروژه مستقل باقی می ماند.
صفحه تشکر و ایمیل اختصاصی سفارش
پس از ثبت سفارش، کاربر وارد صفحه تشکر اختصاصی می شود. این صفحه شماره سفارش، تاریخ، محصولات، تعداد بسته ها، متراژ، مبلغ سفارش، تخفیف، مالیات، اطلاعات تحویل و روش پرداخت را به صورت دسته بندی شده نمایش می دهد.
ساختار ایمیل ارسال شده برای مشتری نیز متناسب با اطلاعات اختصاصی Checkout تغییر کرده است تا جزئیاتی مانند روش دریافت، تاریخ تحویل و اطلاعات سفارش به شکل واضح تری در اختیار مشتری قرار بگیرند.
نتیجه اجرای افزونه
خروجی پروژه یک مسیر پرداخت یکپارچه و اختصاصی برای ووکامرس است که اطلاعات پیچیده سفارش را به چند مرحله قابل مدیریت تقسیم می کند. کاربر در تمام مراحل به خلاصه سفارش و مبلغ نهایی دسترسی دارد و فروشگاه نیز اطلاعات مورد نیاز برای پردازش، تحویل و پرداخت سفارش را به صورت کامل دریافت می کند.
سوالات متداول
آیا این افزونه فایل های اصلی ووکامرس را تغییر می دهد؟
خیر. تمام تغییرات از طریق هوک ها، اکشن ها و فیلترهای وردپرس و ووکامرس اعمال شده اند و هسته ووکامرس بدون تغییر باقی مانده است.
آیا کاربر می تواند بدون تکمیل اطلاعات وارد مرحله بعد شود؟
خیر. هر مرحله اعتبارسنجی مستقل دارد و تنها پس از تکمیل اطلاعات ضروری، مرحله بعد برای کاربر فعال می شود.
آیا امکان انتخاب تاریخ تحویل سفارش وجود دارد؟
بله. در مرحله روش تحویل، کاربر می تواند تاریخ دریافت سفارش را از میان تاریخ های قابل انتخاب مشخص کند.
افزونه با چه درگاه های پرداختی هماهنگ است؟
این پروژه برای هماهنگی با PayPal، Stripe و Klarna توسعه داده شده و روش های فعال براساس تنظیمات فروشگاه در مرحله پرداخت نمایش داده می شوند.
بعد از ورود کاربر، سبد خرید او حفظ می شود؟
بله. کاربر پس از ورود به حساب دوباره به صفحه پرداخت بازگردانده می شود و محصولات و اطلاعات سبد خرید او حفظ می شوند.