FA-TOOLS — Header Component

راهنمای جامع و کاربردی اتصال درگاه پرداخت به ووکامرس

خلاصه کاربردی مقاله:

اتصال درگاه پرداخت به ووکامرس نیاز به کدنویسی ندارد و تنها با نصب افزونه اختصاصی درگاه و وارد کردن مرچنت کد (Merchant ID) انجام می‌شود. برای کسب‌وکارهای نوپا درگاه‌های واسط (مثل زرین‌پال یا نکست‌پی) به دلیل فعال‌سازی سریع بدون اینماد اولیه مناسب‌تر هستند و برای فروشگاه‌های بزرگ، درگاه‌های مستقیم بانکی (مثل ملت یا سامان) به دلیل کارمزد صفر پیشنهاد می‌شوند.

برای اتصال درگاه پرداخت به ووکامرس نیازی به دانش برنامه‌نویسی پیچیده ندارید؛ تمام فرایند در دریافت اطلاعات اتصال از شاپرک یا شرکت‌های پرداخت (PSP) و ثبت آن در افزونه مربوطه خلاصه می‌شود. در این مقاله عملی، تمام مراحل راه‌اندازی، تنظیم واحد پول (تومان/ریال)، تست تراکنش در محیط ایزوله و رفع خطاهای رایج پرداخت را مرور می‌کنیم تا مشتریان شما خریدی بدون قطعی و امن را تجربه کنند.

درگاه پرداخت ووکامرس چیست و چگونه کار می‌کند؟

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

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

مقایسه درگاه پرداخت مستقیم و واسط (کدام مناسب شماست؟)

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

ویژگی / معیارهای مقایسه توضیحات و تفاوت‌ها
سرعت فعال‌سازی درگاه واسط: ۱ تا ۲۴ ساعت | درگاه مستقیم: ۳ تا ۷ روز کاری
نیاز به نماد اعتماد (ای‌نماد) درگاه واسط: الزام اولیه ندارد (یا ای‌نماد پایه) | درگاه مستقیم: کاملاً اجباری است
میزان کارمزد تراکنش درگاه واسط: ۱٪ (دارای سقف ریالی) | درگاه مستقیم: صفر درصد (رایگان)
تسویه حساب درگاه واسط: دستی یا روزانه با درخواست | درگاه مستقیم: تسویه پایا اتوماتیک طبق سیکل شاپرک

پیش‌نیازهای فنی و قانونی دریافت درگاه

قبل از اقدام برای اتصال فنی درگاه، باید بسترهای زیر را روی سایت خود آماده داشته باشید تا درخواست شما توسط PSP یا پرداختیار رد نشود:

  • گواهی امنیتی SSL: آدرس سایت باید با https شروع شود. شاپرک اجازه ارسال اطلاعات از پروتکل غیرامن http را نمی‌دهد.
  • احراز هویت و کد مالیاتی: ثبت‌نام در سامانه امور مالیاتی و دریافت کد رهگیری مالیاتی برای تمام درگاه‌ها (حتی واسط) الزامی است.
  • برگه قوانین و مقررات: وجود صفحه مشخص برای شرایط بازگشت کالا و حریم خصوصی در سایت.
  • همخوانی واحد پول: پیکربندی درست واحد پول ایران در ووکامرس تا از خطاهای محاسباتی ۱۰ برابری (تفاوت ریال و تومان) جلوگیری شود.

آموزش گام‌به‌گام اتصال درگاه به ووکامرس

برای نصب و فعال‌سازی درگاه پرداخت روی ووکامرس، مراحل زیر را به ترتیب انجام دهید:

  1. ثبت‌نام و دریافت مرچنت کد (Merchant ID):

    به سایت پرداختیار (مثل زرین‌پال یا نکست‌پی) یا شرکت PSP (مثل به پرداخت ملت یا سامان کیش) مراجعه کرده، مدارک خود را بارگذاری کنید و کد اختصاصی پذیرنده (Merchant ID یا Terminal ID) را دریافت کنید.
  2. نصب افزونه درگاه پرداخت:

    از پنل وردپرس به مسیر افزونه‌ها > افزودن بروید. نام درگاه خود (مثلاً «درگاه پرداخت زرین‌پال ووکامرس») را جستجو کرده، آن را نصب و فعال کنید.
  3. پیکربندی تنظیمات واحد پول:

    به مسیر ووکامرس > پیکربندی > همگانی بروید. واحد پول را روی «تومان» یا «ریال» قرار دهید. دقت کنید واحد پول انتخابی در تنظیمات افزونه درگاه نیز دقیقاً یکسان باشد.
  4. ورود کلید اتصال در ووکامرس:

    به مسیر ووکامرس > پیکربندی > درگاه‌های پرداخت بروید. روی نام درگاه نصب‌شده (مثلاً زرین‌پال) کلیک کنید. گزینه «فعال‌سازی این روش پرداخت» را علامت بزنید و مرچنت کد دریافت شده را در کادر مربوطه کپی کنید.
  5. تنظیم آدرس بازگشت (Callback URL):

    اکثر افزونه‌های جدید آدرس بازگشت را به‌صورت خودکار تنظیم می‌کنند. اگر نیاز به وارد کردن دستی بود، آدرسی که افزونه به شما می‌دهد را در پنل درگاه بانکی خود ثبت کنید.
  6. تست اولیه تراکنش:

    یک محصول تست با مبلغ کم (مثلاً ۱۰۰۰ تومان) تعریف کنید و فرایند خرید را مانند یک مشتری واقعی تا انتهای مرحله پرداخت طی کنید.

نکته تخصصی: اگر تمایل دارید ظاهر صفحه پرداخت یا استایل فرم‌ها را شخصی‌سازی کنید، می‌توانید از بخش تکه‌کدهای HTML و یا کدهای CSS سفارش‌سازی شده برای تغییر کلیدها و بخش‌های گرافیکی تسویه‌حساب استفاده کنید.

۳ نکته حیاتی و تجربه عملی که مانع از دست رفتن فروش می‌شود

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

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

یک اشتباه رایج، تنظیم واحد پول ووکامرس روی «تومان» و تنظیم افزونه درگاه روی «ریال» (یا برعکس) است. در این حالت، اگر محصولی ۱۰۰ هزار تومان باشد، موقع انتقال به بانک یا ۱۰ هزار تومان محاسبه می‌شود یا ۱ میلیون تومان! همواره پس از نصب افزونه، بخش واحد پول در هر دو سمت را چک کنید.

۲. خطاهای SSL Handshake و نسخه cURL سرور

درگاه‌های مستقیم بانکی مانند ملت و سامان برای برقراری ارتباط سرور به سرور از کتابخانه cURL و پروتکل TLS 1.2 به بالا استفاده می‌کنند. اگر هاست شما قدیمی باشد یا cURL SSL بسته باشد، ارتباط سایت با بانک در مرحله بازگشت (Callback) قطع شده و سفارش «لغو شده» ثبت می‌شود درحالی‌که پول از حساب مشتری کسر شده است.

۳. عدم استفاده از درگاه پشتیبان (Fallback Gateway)

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

چنانچه برای شخصی‌سازی عملکرد درگاه یا ایجاد منطق شرطی در وردپرس نیاز به افزودن توابع اختصاصی به فایل functions.php دارید، مطالعه کدهای بخش تکه‌کدهای وردپرس راهکارهای آماده‌ای در اختیارتان قرار می‌دهد.

عیب‌یابی سریع و رفع خطاهای رایج درگاه پرداخت

در جدول زیر مشکلات متداول درگاه پرداخت ووکامرس به همراه علت و روش حل سریع آن‌ها آورده شده است:

خطای -۲۲ یا Merchant ID نامعتبر است

علت: کپی شدن فاصله‌ی خالی (Space) اضافی همراه مرچنت کد، یا عدم فعال‌سازی نهایی کد از سمت پنل پرداختیار.

راه حل: کد را در یک فایل متنی ساده کپی کنید، فواصل را حذف کرده و مجدداً در تنظیمات افزونه جای‌گذاری کنید.

خطای -۱۱ یا IP غیرمجاز

علت: آدرس IP سرور شما با آدرسی که به شرکت پرداخت اعلام کرده‌اید مطابقت ندارد (معمولاً پس از تغییر هاست اتفاق می‌افتد).

راه حل: IP دقیق هاست خود را از شرکت پشتیبان هاست بپرسید و در پنل درگاه بازنویسی/به‌روزرسانی کنید.

پول از حساب کسر شده اما سفارش «در انتظار پرداخت» می‌ماند

علت: عدم ارسال یا بلوک شدن درخواست Callback توسط افزونه‌های امنیتی یا کش سرور.

راه حل: آدرس بازگشت درگاه را در افزونه‌های کش (مثل WP Rocket) استثنا (Exclude) کنید تا کش نشود.

خطای Curl Error 60 یا SSL Certificate Exception

علت: منقضی شدن گواهی SSL یا عدم اعتبار CA-Bundle روی هاست.

راه حل: به پشتیبانی هاست تیکت بزنید تا فایل cacert.pem سرور را به روزرسانی کند.

پرسش‌های متداول

آیا بدون داشتن اینماد می‌توانم درگاه پرداخت ووکامرس داشته باشم؟

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

اگر سفارش انجام شود اما وضعیت در ووکامرس تغییر نکند چه باید کرد؟

این مشکل معمولاً به دلیل فعال بودن کش روی برگه تسویه حساب یا مسدود شدن درخواست‌های HTTP REST API توسط افزونه‌های امنیتی رخ می‌دهد. برگه پرداخت و Callback درگاه را از کش استثنا کنید.

امکان داشتن چند درگاه پرداخت همزمان روی یک فروشگاه وجود دارد؟

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

تفاوت کارمزد درگاه‌های واسط و مستقیم چقدر است؟

درگاه‌های مستقیم بانک صفر درصد کارمزد دارند. درگاه‌های واسط معمولاً ۱ درصد تا سقف مشخصی (مثلاً ۴۰۰۰ تا ۷۰۰۰ تومان per transaction) کارمزد دریافت می‌کنند.

برای دسترسی به سورس‌کدها، راهکارهای فنی و ابزارهای موردنیاز توسعه‌دهندگان، می‌توانید بخش مجموعه تکه‌کدهای کاربردی را در سایت fa-tools بررسی کنید.

Table of Contents

آخرین نوشته‌ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *