پرش به محتوا
طراحی سایت

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

۱۰ دقیقه مطالعه

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

نمودار مسیر پرداخت از کارت مشتری تا فروشنده با سه راه اتصال و شاپرک در مرکز

همه درگاه های مجاز ایران به شبکه شاپرک وصل اند، پس اگه دنبال یه درگاه پرداخت شاپرکی برای سایتت هستی، «شاپرکی بودن» فرق خاصی بین گزینه ها نمی ذاره. فرق اصلی تو مسیر اتصاله: مستقیم از بانک یا از طریق پرداخت یار مجاز. بعدش سه چیز تصمیم رو می سازه: پایداری در روزهای شلوغ، کیفیت پشتیبانی و مدارکی که باید آماده کنی. کارمزد مهمه، ولی اولویت دومه. درگاهی که شب جمعه قطع بشه و کسی جواب نده، با کارمزد کمتر جبران نمی شه.

«شاپرکی» دقیقاً یعنی چی؟

شاپرک شبکه ایه که تراکنش های کارتی رو بین بانک ها و پذیرنده ها هماهنگ می کنه. وقتی مشتری تو سایتت کارت می کشه، پول مستقیم از بانک اون به حساب تو نمی ره و از این شبکه رد می شه. درگاهی که از این مسیر رد نشه، رسمی حساب نمی شه.

تو هر تراکنش سه بازیگر داری:

  • بانک صادرکننده کارت مشتری
  • شاپرک، که وسط هماهنگ می کنه
  • بانک یا پرداخت یار سمت تو، یعنی همون طرفی که باهاش قرارداد می بندی

پس «شاپرکی بودن» معیار انتخاب نیست، چون تقریباً همه گزینه های مجاز این ویژگی رو دارن. وقتی کسی «درگاه شاپرکی» تبلیغ می کنه، هنوز چیزی درباره کیفیتش نگفته.

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

سه مسیر رایج برای گرفتن درگاه پرداخت شاپرکی

درگاه مستقیم بانکی

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

پرداخت یار (PSP) دارای مجوز

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

واسط های غیرشفاف یا «بدون مدرک»

قبل از هر قراردادی، مجوز طرف مقابل رو از منابع رسمی چک کن. وعده «درگاه فوری بدون هیچ مدرکی» معمولاً علامت خطره. ریسک هاش مشخصه: توقف ناگهانی درگاه، مسدود شدن وجوه و نبود کسی که جواب بده. کسب و کاری که فروشش به این درگاه وصله، با یه قطعی بی جواب عملاً تعطیل می شه.

مسیر پرداخت از مشتری تا فروشنده با سه راه اتصال و شاپرک در مرکز

چی رو با چی مقایسه کنیم؟

جدول زیر یه نگاه کلیه. «معمولاً» رو جدی بگیر، چون هر بانک و هر پرداخت یار شرایط خودش رو داره.

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

پایداری رو چطور بسنجی؟

از بروشور شروع نکن. سه کار انجام بده:

  1. تو محیط تست، زمان پاسخ درخواست توکن رو چند بار تو ساعت های مختلف اندازه بگیر. حتماً یه بار شب هم تست کن، چون معمولاً شب ها ترافیک بیشتره.
  2. بپرس قطعی و تعمیرات برنامه ریزی شده از چه کانالی اطلاع داده می شه.
  3. از چند سایتی که از همون درگاه استفاده می کنن بپرس تو مناسبت های پرخرید چه تجربه ای داشتن.

دلیلش اینه که پایداری یعنی رفتار درگاه تو لحظه شلوغی، نه تو یه تست آروم ظهر.

پشتیبانی یعنی آدمی که شب جواب بده

قبل از قرارداد این سؤال ها رو بپرس:

  • مشکل فنی از چه کانالی گزارش می شه و تو تعطیلات هم کسی جواب می ده؟
  • مستندات API به روز هستن و نمونه کد دارن؟
  • محیط تست جدا دارن؟
  • برنامه تسویه چیه و اگه تراکنشی گیر کرد، پیگیریش چقدر طول می کشه؟

جواب مبهم به این سؤال ها یعنی بعداً هم مبهم می مونه.

سرعت دریافت و هزینه

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

مدارک رو قبل از ثبت درخواست آماده کن

فهرست دقیق رو هر بانک یا پرداخت یار خودش اعلام می کنه و ممکنه عوض بشه. ولی معمولاً این ها لازم می شه:

  • مدارک هویتی صاحب کسب و کار، یا مدارک ثبت شرکت برای شخص حقوقی
  • حساب بانکی به نام همون شخص یا شرکت برای تسویه
  • سایتی که واقعاً بالا اومده و محصول یا خدمات و قوانین بازگشت وجهش روشنه
  • نماد اعتماد الکترونیک (اینماد) یا مجوز معادل، بسته به نوع فعالیت و شرایط ارائه دهنده
  • اطلاعات فنی مثل آدرس سایت و IP سرور

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

قبل از کد زدن: IP سرور و دسترسی شبکه

خیلی از اتصال ها قبل از اولین خط کد گیر می کنن. درگاه ها معمولاً IP سرور پذیرنده رو تو ترمینال ثبت می کنن و فقط از همون IP ها درخواست قبول می کنن.

یه خطای رایج همین جاست: موقع دریافت توکن، درگاه پیام می ده که آدرس سرور پذیرنده نامعتبره. ممکنه کدت کاملاً درست باشه و مشکل فقط این باشه که IP سرور ثبت نشده. متن و کد خطا از یه بانک یا پرداخت یار به بعدی فرق می کنه، ولی ریشه معمولاً همینه. راه حلش هم تغییر کد نیست، طرف مقابل باید IP رو ثبت کنه. پس اگه چنین خطایی دیدی، اول IP رو چک کن، نه کد.

مراحل کار:

  1. IP خروجی واقعی سرور رو پیدا کن:
curl -4 https://ifconfig.me

این دستور رو روی خود سرور اجرا کن. اگه دسترسی ترمینال نداری، IP خروجی رو از پنل یا پشتیبانی هاستت بگیر. IP خروجی با IP نمایش داده شده سایت همیشه یکی نیست، مخصوصاً پشت CDN یا NAT.

  1. همین IP رو به بانک یا پرداخت یار بده تا ثبت کنه.
  2. قبل از ادامه، مطمئن شو فایروال جلوی ترافیک خروجی رو نگرفته. روی اوبونتو با UFW این رو چک کن:
sudo ufw status verbose

تو خط Default نگاه کن. اگه بخش outgoing روی deny بود، اتصال به API درگاه بسته می شه و باید خروجی HTTPS رو باز کنی:

sudo ufw allow out 443/tcp

تو این حالت معمولاً DNS هم لازم می شه (sudo ufw allow out 53). برای قاعده های دیگه تنظیم فایروال UFW روی سرور اوبونتو؛ قاعده های ضروری رو ببین.

یه نکته درباره شرایط ایران: بعضی API های بانکی ممکنه از IP خارج از ایران یا از مسیر اینترنت بین الملل کند جواب بدن یا درخواست رو رد کنن، بسته به ارائه دهنده. برای همین معمولاً سروری که به درگاه وصله رو داخل کشور می ذارن. محدودیت اینترنت بین الملل؛ سایت ایرانی خودت را کجا محافظت کنی این بحث رو بازتر کرده. اگه می خوای سایتت رو داخل کشور میزبانی کنی، میزبانی وب و سرور مجازی ایران برای همین کاره.

مسیر بازگشت از بانک: جداش کن

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

پیشنهاد ما اینه که مسیر بازگشت درگاه رو از فایروال سایت و محدودیت های ورود جدا نگه داری. اینطوری بازگشت کاربر از بانک مسدود نمی شه و پرداخت نیمه کاره نمی مونه. یه نمونه ساده تو Nginx:

location = /wp-login.php {
    limit_req zone=login burst=5 nodelay;
    # بقیه تنظیم ها
}

location = /payment/callback {
    # بدون limit_req و بدون قاعده مسدودسازی
    try_files $uri /index.php?$args;
}

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

بعد از بازگشت، حتماً verify کن

به پارامتر «موفق» که تو آدرس بازگشت میاد اعتماد نکن. مرورگر دست کاربره و می شه دستکاریش کرد. روند درست اینه:

  1. سفارش رو با وضعیت «در انتظار پرداخت» ذخیره کن و شناسه تراکنش رو کنارش بنویس.
  2. بعد از بازگشت، از سمت سرور خودت درخواست verify به درگاه بزن.
  3. فقط اگه verify موفق بود، سفارش رو «پرداخت شده» کن.
  4. verify رو طوری بنویس که اگه دو بار صدا زده شد، سفارش دو بار تکمیل نشه.
  5. یه کار زمان بندی شده بذار که سفارش های معلق رو بعد از چند دقیقه دوباره استعلام کنه. این برای وقتیه که کاربر وسط راه مرورگر رو بسته یا اینترنتش قطع شده.

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

چرخه پرداخت با آدرس بازگشت جداشده از فایروال و درخواست تایید از سمت سرور

کدوم مسیر به درد کی می خوره؟

  • فروشگاه کوچک با ووکامرس یا سیستم مشابه: معمولاً پرداخت یار مجاز با افزونه آماده بهتره. راه اندازیش سریع تره و پشتیبانیش متمرکزه. اگه محصول هات رو هنوز نچیدی، آموزش کامل افزودن محصول در ووکامرس؛ قدم به قدم به دردت می خوره.
  • فروشگاه با حجم تراکنش بالا: مستقیم بانکی، یا دو مسیر موازی (مثلاً یه بانک و یه پرداخت یار) تا اگه یکی قطع شد، فروش نخوابه. البته کد و نگهداری بیشتری می خواد.
  • سایت خدماتی یا اشتراکی: verify و استعلام بعدی برات مهم تره، چون پرداخت ناقص یعنی اشتراک فعال نشده. به مانیتورینگ و لاگ تراکنش هم فکر کن.
  • توسعه دهنده یا اپلیکیشن/API: مستندات و محیط تست از قیمت مهم ترن. اگه سرویس خودت رو می نویسی، لایه پرداخت رو جدا بساز تا عوض کردن ارائه دهنده فقط یه ماژول رو درگیر کنه.

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

سوالات متداول

فرق درگاه پرداخت شاپرکی با کارت به کارت چیه؟

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

بدون اینماد می شه درگاه گرفت؟

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

بهتره چند درگاه همزمان داشته باشم؟

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

چرا مشتری پول داده ولی سفارش پرداخت نشده؟

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

قبل از امضا این پنج تا رو چک کن

مجوز ارائه دهنده رو از منبع رسمی بررسی کن. مدارک، دامنه و حساب بانکی رو هم نام کن. IP خروجی سرور رو بده تا ثبت بشه. مسیر بازگشت رو از فایروال جدا نگه دار و همیشه سمت سرور verify کن. اگه این پنج تا درست باشه، بیشتر مشکلات بعد از راه اندازی اصلاً سراغت نمی آد. اگه خواستی یکی دیگه لایه سرور، فایروال و مانیتورینگ رو بررسی کنه، مدیریت و امن سازی سرور کارش همینه.

  • درگاه پرداخت
  • شاپرک
  • پرداخت یار
  • کسب و کار اینترنتی
  • پذیرنده

مقاله‌های مرتبط

ادامه همین موضوع در وبلاگ.

همه مقاله‌ها
کمک فنی

برای اجرای این کار کمک می‌خواهید؟

تیم فنی Wbweb از طراحی سایت تا هاست و سرور کنار شماست؛ درخواستتان را ثبت کنید یا تیکت بزنید.