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

انواع درگاه پرداخت و انتخاب درست برای فروشگاه ایرانی

درگاه‌های پرداخت به سه دسته اصلی تقسیم می‌شوند. درگاه‌های مستقیم که فروشگاه را مستقیماً به شبکه شاپرک متصل می‌کنند و به مجوز نیاز دارند. درگاه‌های واسط که از طریق یک شرکت PSP (Payment Service Provider) کار می‌کنند و برای اکثر فروشگاه‌ها گزینه واقع‌بینانه‌تری هستند. و درگاه‌های بین‌المللی مثل Stripe و PayPal که برای فروشگاه‌های ایرانی محدودیت دارند و معمولاً باید با احتیاط مورد استفاده قرار گیرند.

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

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

پیکربندی درگاه ووکامرس: گام‌به‌گام

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

  1. افزونه رسمی درگاه را از منبع معتبر دانلود کنید و در وردپرس نصب کنید.
  2. در پیشخوان به WooCommerce → Settings → Payments بروید.
  3. درگاه را فعال کنید و به تنظیماتش بروید.
  4. اطلاعات درگاه مثل Merchant ID، Terminal ID و کلید API را وارد کنید.
  5. وضعیت Sandbox و Live را بر اساس مرحله تنظیم کنید.
  6. ذخیره تغییرات و سپس یک سفارش آزمایشی ثبت کنید.

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

یک نکته فنی که در پروژه‌ها زیاد دیدم: بعضی درگاه‌های ایرانی از Callback URL هایی کار می‌کنند که باید دقیقاً با دامنه SSL هماهنگ باشند. اگر دامنه شما با www و بدون www هر دو کار می‌کنند، باید یکی را به عنوان دامنه اصلی تنظیم کنید و دومی را به آن ریدایرکت کنید. بدون این هماهنگی، بازگشت از درگاه می‌تواند با خطا مواجه شود. برای امنیت پایه فروشگاه، نصب SSL و فعال‌سازی HTTPS پیش‌نیاز اتصال درگاه است.

حالت تست و شبیه‌سازی پرداخت واقعی

هر درگاه معتبر، یک حالت تست دارد. این حالت برای راه‌اندازی اولیه ضروری است اما نکته حیاتی این است که حالت تست درگاه و حالت تست ووکامرس دو چیز متفاوت هستند. اگر درگاه در حالت تست باشد اما ووکامرس در حالت live، تراکنش‌ها در سیستم ناهماهنگ می‌شوند. برعکس، اگر ووکامرس در حالت تست باشد اما درگاه live، ممکن است تراکنش واقعی انجام شود اما ووکامرس به عنوان تست ثبت کند.

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

بازگشت وجه و مدیریت refund

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

روش درست: در صفحه سفارش، روی Refund بزنید، مقدار بازگشت را وارد کنید و توضیح بگذارید. ووکامرس خودش درخواست را به درگاه ارسال می‌کند و نتیجه را ثبت می‌کند. اگر بازگشت وجه خطا داد، لاگ درگاه و لاگ ووکامرس را همزمان بررسی کنید. برای مدیریت بهتر چرخه سفارش‌ها که بخشی از آن بازگشت وجه است، مدیریت سفارش‌ها در ووکامرس راهنمای کاملی دارد.

یک نکته عملی: قبل از هر بازگشت وجه گسترده در فروشگاه، حتماً یک تراکنش کوچک را تست کنید. بعضی درگاه‌های ایرانی محدودیت روزانه بازگشت وجه دارند و اگر از سقف بگذرید، درخواست‌ها به صورت دستی باید پیگیری شوند. این تصمیمات را در SOP تیم فروشگاه بگذارید تا در لحظه بحران، تصمیم‌گیری سریع‌تر شود.

امنیت درگاه و PCI DSS

PCI DSS (Payment Card Industry Data Security Standard) یک استاندارد جهانی برای حفاظت از داده کارت‌های پرداخت است. خبر خوب برای اکثر فروشگاه‌های ووکامرسی این است که چون پرداخت در درگاه بیرونی انجام می‌شود و فروشگاه اطلاعات کارت را نگه نمی‌دارد، دامنه PCI محدودتر است. اما این به معنی نبود مسئولیت نیست؛ فروشگاه همچنان باید امنیت پایه را رعایت کند.

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

امنیت درگاه پرداخت، بیشتر از جنس هوشیاری است تا جنس تکنولوژی. هر تصمیمی که دسترسی را کمی سخت‌تر کند، معمولاً امنیت را بیشتر می‌کند.

خطاهای تکرارشونده در اتصال درگاه

چند خطا که در پروژه‌های مختلف دیده‌ام:

  • عدم تطبیق واحد پول: ووکامرس به تومان و درگاه به ریال. باید هر دو یکی باشند.
  • فعال ماندن حالت تست در live: مشتری پرداخت می‌کند اما تراکنش در دفتر فروش ثبت نمی‌شود.
  • عدم تنظیم Callback URL: بازگشت از درگاه با خطا مواجه می‌شود.
  • نصب افزونه درگاه از منبع نامعتبر: خطرناک‌ترین خطا، چون ممکن است اطلاعات کارت به سرقت برود.
  • عدم بکاپ قبل از نصب افزونه درگاه: اگر نصب مشکل‌ساز شد، بازگشت دشوار است.

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

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

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

آیا می‌توانم درگاه را فقط برای مشتریان ایرانی محدود کنم؟ بله، بعضی افزونه‌ها امکان محدودسازی بر اساس موقعیت جغرافیایی را دارند. برای فروشگاه‌های دو زبانه، این قابلیت ارزشمند است.

چگونه بفهمم پرداخت موفق بوده اما ثبت نشده؟ سه نشانه: پنل درگاه تراکنش موفق دارد، اما ووکامرس سفارش ثبت نکرده؛ ایمیل تایید به مشتری رسیده، اما در پنل سفارش نیست؛ وضعیت سفارش pending مانده. همه اینها معمولاً از خطای بازگشت از درگاه می‌آیند.

آیا SSL برای درگاه لازم است؟ بله. بدون HTTPS، هم درگاه‌های ایرانی معمولاً اجازه فعالیت نمی‌دهند و هم از نظر امنیتی غیرقابل قبول است.

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

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

درس‌هایی از پروژه‌های واقعی

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

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