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

انتخاب درگاه فقط به این معنی نیست که یک دکمه «پرداخت» روی سایت قرار دهیم. پایداری، امنیت، سرعت تسویه، تجربه پرداخت، API و کیفیت پشتیبانی هم مستقیماً روی عملکرد کسب‌وکار تأثیر دارند.

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

درگاه پرداخت اینترنتی چیست؟

Payment Gateway یا درگاه پرداخت، واسطی بین سایت یا نرم‌افزار شما و شبکه پرداخت است.

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

پرداخت آنلاین
شناسه تراکنش
بازگشت به سایت
تأیید پرداخت
ثبت سفارش
گزارش مالی

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

ثبت سفارش ← ایجاد درخواست پرداخت ← انتقال به درگاه ← پرداخت مشتری ← بازگشت به سایت ← تأیید تراکنش

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

نتیجه پرداخت باید از طریق API درگاه دوباره Verify شود و سپس وضعیت سفارش تغییر کند.

انواع درگاه پرداخت اینترنتی

به‌طور کلی دو مدل رایج وجود دارد:

درگاه مستقیم

  • ارتباط مستقیم‌تر با PSP یا بانک
  • فرآیند دریافت معمولاً رسمی‌تر
  • مناسب کسب‌وکارهای تثبیت‌شده
  • شرایط پذیرندگی مشخص

پرداخت‌یار یا واسط

  • راه‌اندازی معمولاً ساده‌تر
  • پنل مدیریتی آماده
  • API قابل استفاده برای توسعه‌دهنده
  • امکانات جانبی متنوع

درگاه مستقیم بهتر است یا واسط؟

پاسخ یکسانی برای همه کسب‌وکارها وجود ندارد.

یک فروشگاه تازه‌تأسیس ممکن است سرعت راه‌اندازی و API ساده‌تر را مهم‌تر بداند، در حالی که یک مجموعه بزرگ ممکن است روی ساختار تسویه، SLA و قرارداد مستقیم تمرکز بیشتری داشته باشد.

بهترین درگاه، الزاماً معروف‌ترین درگاه نیست؛ بهترین گزینه سرویسی است که با مدل کسب‌وکار و زیرساخت شما سازگار باشد.

برای انتخاب درگاه پرداخت چه چیزهایی مهم است؟

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

کارمزد درگاه پرداخت

ساختار کارمزد می‌تواند بین ارائه‌دهندگان مختلف متفاوت باشد و حتی در طول زمان تغییر کند.

قبل از انتخاب درگاه بهتر است موارد زیر را بررسی کنید:

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

امنیت درگاه پرداخت چگونه تأمین می‌شود؟

امنیت پرداخت فقط وظیفه بانک نیست. سایت فروشنده نیز باید بخش‌های مربوط به سفارش و پرداخت را به‌درستی پیاده‌سازی کند.

HTTPS
اعتبارسنجی مبلغ
Verify تراکنش
ثبت امن Reference ID
جلوگیری از پرداخت تکراری
ثبت Log مناسب

API درگاه پرداخت چیست؟

درگاه‌ها معمولاً یک API در اختیار توسعه‌دهنده قرار می‌دهند.

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

در پاسخ نیز معمولاً یک شناسه یا Token دریافت می‌شود که برای هدایت مشتری به درگاه استفاده می‌شود.

Callback در درگاه پرداخت چیست؟

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

برای مثال:

https://example.com/payment/callback

اما رسیدن کاربر به Callback به تنهایی به معنی موفق بودن پرداخت نیست.

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

Verify پرداخت چیست؟

Verify یعنی سایت شما از درگاه سؤال کند:

آیا این تراکنش واقعاً با همین مبلغ و شناسه با موفقیت انجام شده است؟

تنها پس از تأیید معتبر باید:

  • سفارش پرداخت‌شده شود
  • موجودی کالا تغییر کند
  • فاکتور صادر شود
  • پیامک موفقیت ارسال شود
  • خدمات خریداری‌شده فعال شوند

چطور جلوی ثبت دوباره پرداخت را بگیریم؟

یکی از مشکلات رایج در سیستم‌های غیراصولی، اجرای چندباره Callback است.

کاربر ممکن است صفحه را Refresh کند یا درگاه چند بار درخواست بازگشت ارسال کند.

سیستم باید قبل از اعمال عملیات مالی بررسی کند که تراکنش قبلاً پردازش نشده باشد.

عملیات مالی باید Idempotent طراحی شود؛ یعنی اجرای دوباره یک Callback نباید دوباره سفارش یا موجودی را تغییر دهد.

خطاهای رایج در پرداخت اینترنتی

لغو توسط کاربر مشتری قبل از تکمیل تراکنش از پرداخت خارج شده است.
Timeout ارتباط با سرویس پرداخت در زمان مقرر پاسخ نداده است.
مبلغ نامعتبر مبلغ ارسال‌شده با مبلغ سفارش هماهنگ نیست.
Verify ناموفق تراکنش هنگام بررسی نهایی تأیید نشده است.
Callback ناقص پارامترهای مورد انتظار به سایت برنگشته‌اند.
اختلال موقت درگاه یا شبکه پرداخت ممکن است موقتاً در دسترس نباشد.

چه وضعیت‌هایی برای پرداخت بهتر است داشته باشیم؟

بهتر است پرداخت فقط دو وضعیت موفق و ناموفق نداشته باشد.

در انتظار پرداخت
موفق
ناموفق
لغو شده
نیازمند بررسی
عودت وجه

این ساختار در گزارش‌های مالی و بررسی مشکلات کاربران بسیار کاربردی‌تر خواهد بود.

آیا بهتر است سایت چند درگاه پرداخت داشته باشد؟

برای بعضی کسب‌وکارها داشتن درگاه جایگزین تصمیم مناسبی است.

اگر درگاه اصلی دچار اختلال شود، سیستم می‌تواند درگاه دیگری را در اختیار مشتری قرار دهد.

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

درگاه اصلی ← بررسی دسترسی ← درگاه جایگزین

انتخاب هوشمند درگاه چیست؟

در سیستم‌های پیشرفته‌تر می‌توان چند درگاه تعریف کرد و براساس وضعیت آن‌ها مسیر پرداخت را تغییر داد.

برای مثال سیستم می‌تواند با توجه به:

  • فعال یا غیرفعال بودن درگاه
  • نوع سفارش
  • مبلغ تراکنش
  • تنظیمات مدیر
  • اختلال سرویس اصلی

درگاه مناسب را انتخاب کند.

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

در فروشگاه آنلاین، درگاه باید کاملاً با سیستم سفارشات هماهنگ باشد.

سبد خرید ← ثبت سفارش ← پرداخت ← Verify ← کاهش موجودی ← فاکتور

پرداخت بیعانه چگونه پیاده‌سازی می‌شود؟

بعضی کسب‌وکارها مثل خدمات سفارشی، مزون‌ها یا پروژه‌های تولیدی نیاز ندارند کل مبلغ سفارش در ابتدا پرداخت شود.

در این حالت می‌توان سیستم را طوری طراحی کرد که:

  • درصدی از مبلغ به‌عنوان بیعانه پرداخت شود
  • مانده بدهی ذخیره شود
  • قبل از تحویل تسویه انجام شود
  • برای مانده پرداخت پیامک ارسال شود

درگاه پرداخت فقط عملیات مالی را انجام می‌دهد؛ منطق بیعانه باید در خود نرم‌افزار طراحی شود.

درگاه پرداخت و کیف پول کاربران

یک کاربرد دیگر درگاه، شارژ کیف پول داخلی کاربران است.

بعد از Verify موفق، مبلغ به اعتبار داخلی کاربر اضافه می‌شود و در تراکنش‌های بعدی قابل استفاده خواهد بود.

افزایش اعتبار کیف پول باید فقط بعد از تأیید قطعی تراکنش انجام شود.

گزارش تراکنش‌ها چرا مهم است؟

در پروژه حرفه‌ای باید بتوان هر تراکنش را بعداً بررسی کرد.

پیشنهاد می‌شود مواردی مثل این‌ها ذخیره شوند:

شماره سفارش
مبلغ
کاربر
درگاه
کد رهگیری
تاریخ و ساعت

تجربه کاربری صفحه پرداخت

فرآیند پرداخت باید تا حد ممکن ساده باشد.

قبل از انتقال کاربر بهتر است به‌وضوح نمایش داده شود:

  • مبلغ نهایی
  • شماره سفارش
  • روش پرداخت
  • وضعیت تخفیف
  • هزینه ارسال

بعد از بازگشت نیز صفحه موفق یا ناموفق باید پیام واضحی به کاربر نشان دهد.

درگاه پرداخت در وردپرس و ووکامرس

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

افزونه باید با نسخه WooCommerce، ساختار سفارش و API جدید سرویس پرداخت سازگار باشد.

درگاه پرداخت در سایت اختصاصی

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

این روش کنترل بیشتری روی مواردی مثل:

چند درگاهی
کیف پول
بیعانه
اشتراک
گزارش مالی
Callback اختصاصی

فراهم می‌کند.

کدام درگاه پرداخت را انتخاب کنیم؟

به جای انتخاب صرفاً بر اساس نام برند، این موارد را کنار هم بررسی کنید:

  1. پایداری سرویس
  2. شرایط پذیرندگی
  3. کارمزد
  4. زمان تسویه
  5. کیفیت API
  6. پشتیبانی
  7. گزارش‌گیری
  8. تناسب با مدل کسب‌وکار

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

اتصال درگاه پرداخت با وب مرتضی

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

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

اتصال API پرداخت چند درگاهی کیف پول پرداخت بیعانه Verify امن گزارش تراکنش
درخواست اتصال درگاه پرداخت

سؤالات متداول درباره درگاه پرداخت

درگاه مستقیم بهتر است یا پرداخت‌یار؟

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

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

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

Callback یعنی پرداخت موفق شده است؟

خیر. نتیجه باید از طریق API سرویس پرداخت Verify شود.

چرا مبلغ از حساب مشتری کم شده ولی سفارش ناموفق است؟

ممکن است ارتباط هنگام Callback یا Verify قطع شده باشد. وضعیت تراکنش باید از طریق سرویس پرداخت بررسی شود.

آیا درگاه پرداخت به SSL نیاز دارد؟

استفاده از HTTPS برای سایت‌های دارای اطلاعات مالی و حساب کاربری یک الزام جدی امنیتی است.

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

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

جمع‌بندی

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

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

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

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

مرتضی قاسم پور

گفت‌وگو درباره این مطلب

۰ دیدگاه