تقریباً هر کسبوکاری که محصول، خدمات، اشتراک یا اعتبار آنلاین میفروشد، در نهایت به یک بخش مهم میرسد: دریافت وجه از مشتری. اینجاست که درگاه پرداخت اینترنتی وارد ماجرا میشود.
انتخاب درگاه فقط به این معنی نیست که یک دکمه «پرداخت» روی سایت قرار دهیم. پایداری، امنیت، سرعت تسویه، تجربه پرداخت، API و کیفیت پشتیبانی هم مستقیماً روی عملکرد کسبوکار تأثیر دارند.
درگاه پرداخت اینترنتی چیست؟
Payment Gateway یا درگاه پرداخت، واسطی بین سایت یا نرمافزار شما و شبکه پرداخت است.
زمانی که مشتری سفارش خود را نهایی میکند، سیستم مبلغ و اطلاعات لازم را به درگاه ارسال میکند. مشتری پرداخت را انجام میدهد و سپس نتیجه تراکنش به سایت برگردانده میشود.
فرآیند پرداخت اینترنتی چگونه کار میکند؟
بخش مهم این فرآیند مرحله آخر است. یعنی سایت نباید فقط بر اساس برگشت کاربر از درگاه، سفارش را پرداختشده در نظر بگیرد.
نتیجه پرداخت باید از طریق API درگاه دوباره Verify شود و سپس وضعیت سفارش تغییر کند.
انواع درگاه پرداخت اینترنتی
بهطور کلی دو مدل رایج وجود دارد:
درگاه مستقیم
- ارتباط مستقیمتر با PSP یا بانک
- فرآیند دریافت معمولاً رسمیتر
- مناسب کسبوکارهای تثبیتشده
- شرایط پذیرندگی مشخص
پرداختیار یا واسط
- راهاندازی معمولاً سادهتر
- پنل مدیریتی آماده
- API قابل استفاده برای توسعهدهنده
- امکانات جانبی متنوع
درگاه مستقیم بهتر است یا واسط؟
پاسخ یکسانی برای همه کسبوکارها وجود ندارد.
یک فروشگاه تازهتأسیس ممکن است سرعت راهاندازی و API سادهتر را مهمتر بداند، در حالی که یک مجموعه بزرگ ممکن است روی ساختار تسویه، SLA و قرارداد مستقیم تمرکز بیشتری داشته باشد.
برای انتخاب درگاه پرداخت چه چیزهایی مهم است؟
کارمزد درگاه پرداخت
ساختار کارمزد میتواند بین ارائهدهندگان مختلف متفاوت باشد و حتی در طول زمان تغییر کند.
قبل از انتخاب درگاه بهتر است موارد زیر را بررسی کنید:
- کارمزد هر تراکنش
- سقف احتمالی کارمزد
- هزینه خدمات جانبی
- شرایط تسویه
- قوانین عودت وجه
امنیت درگاه پرداخت چگونه تأمین میشود؟
امنیت پرداخت فقط وظیفه بانک نیست. سایت فروشنده نیز باید بخشهای مربوط به سفارش و پرداخت را بهدرستی پیادهسازی کند.
API درگاه پرداخت چیست؟
درگاهها معمولاً یک API در اختیار توسعهدهنده قرار میدهند.
سایت از طریق این API درخواست پرداخت ایجاد میکند و اطلاعاتی مثل مبلغ، توضیح سفارش و آدرس بازگشت را ارسال میکند.
در پاسخ نیز معمولاً یک شناسه یا Token دریافت میشود که برای هدایت مشتری به درگاه استفاده میشود.
Callback در درگاه پرداخت چیست؟
Callback آدرسی از سایت شماست که مشتری پس از پایان فرآیند پرداخت به آن بازگردانده میشود.
برای مثال:
https://example.com/payment/callback
اما رسیدن کاربر به Callback به تنهایی به معنی موفق بودن پرداخت نیست.
سیستم باید اطلاعات تراکنش را دریافت کرده و از طریق درخواست Verify با سرور درگاه، نتیجه نهایی را بررسی کند.
Verify پرداخت چیست؟
Verify یعنی سایت شما از درگاه سؤال کند:
آیا این تراکنش واقعاً با همین مبلغ و شناسه با موفقیت انجام شده است؟
تنها پس از تأیید معتبر باید:
- سفارش پرداختشده شود
- موجودی کالا تغییر کند
- فاکتور صادر شود
- پیامک موفقیت ارسال شود
- خدمات خریداریشده فعال شوند
چطور جلوی ثبت دوباره پرداخت را بگیریم؟
یکی از مشکلات رایج در سیستمهای غیراصولی، اجرای چندباره Callback است.
کاربر ممکن است صفحه را Refresh کند یا درگاه چند بار درخواست بازگشت ارسال کند.
سیستم باید قبل از اعمال عملیات مالی بررسی کند که تراکنش قبلاً پردازش نشده باشد.
خطاهای رایج در پرداخت اینترنتی
چه وضعیتهایی برای پرداخت بهتر است داشته باشیم؟
بهتر است پرداخت فقط دو وضعیت موفق و ناموفق نداشته باشد.
این ساختار در گزارشهای مالی و بررسی مشکلات کاربران بسیار کاربردیتر خواهد بود.
آیا بهتر است سایت چند درگاه پرداخت داشته باشد؟
برای بعضی کسبوکارها داشتن درگاه جایگزین تصمیم مناسبی است.
اگر درگاه اصلی دچار اختلال شود، سیستم میتواند درگاه دیگری را در اختیار مشتری قرار دهد.
این موضوع مخصوصاً در فروشگاههایی که قطع فرآیند پرداخت مستقیماً باعث از دست رفتن فروش میشود، اهمیت بیشتری دارد.
انتخاب هوشمند درگاه چیست؟
در سیستمهای پیشرفتهتر میتوان چند درگاه تعریف کرد و براساس وضعیت آنها مسیر پرداخت را تغییر داد.
برای مثال سیستم میتواند با توجه به:
- فعال یا غیرفعال بودن درگاه
- نوع سفارش
- مبلغ تراکنش
- تنظیمات مدیر
- اختلال سرویس اصلی
درگاه مناسب را انتخاب کند.
درگاه پرداخت برای فروشگاه اینترنتی
در فروشگاه آنلاین، درگاه باید کاملاً با سیستم سفارشات هماهنگ باشد.
پرداخت بیعانه چگونه پیادهسازی میشود؟
بعضی کسبوکارها مثل خدمات سفارشی، مزونها یا پروژههای تولیدی نیاز ندارند کل مبلغ سفارش در ابتدا پرداخت شود.
در این حالت میتوان سیستم را طوری طراحی کرد که:
- درصدی از مبلغ بهعنوان بیعانه پرداخت شود
- مانده بدهی ذخیره شود
- قبل از تحویل تسویه انجام شود
- برای مانده پرداخت پیامک ارسال شود
درگاه پرداخت فقط عملیات مالی را انجام میدهد؛ منطق بیعانه باید در خود نرمافزار طراحی شود.
درگاه پرداخت و کیف پول کاربران
یک کاربرد دیگر درگاه، شارژ کیف پول داخلی کاربران است.
بعد از Verify موفق، مبلغ به اعتبار داخلی کاربر اضافه میشود و در تراکنشهای بعدی قابل استفاده خواهد بود.
گزارش تراکنشها چرا مهم است؟
در پروژه حرفهای باید بتوان هر تراکنش را بعداً بررسی کرد.
پیشنهاد میشود مواردی مثل اینها ذخیره شوند:
تجربه کاربری صفحه پرداخت
فرآیند پرداخت باید تا حد ممکن ساده باشد.
قبل از انتقال کاربر بهتر است بهوضوح نمایش داده شود:
- مبلغ نهایی
- شماره سفارش
- روش پرداخت
- وضعیت تخفیف
- هزینه ارسال
بعد از بازگشت نیز صفحه موفق یا ناموفق باید پیام واضحی به کاربر نشان دهد.
درگاه پرداخت در وردپرس و ووکامرس
در ووکامرس معمولاً درگاهها از طریق افزونه به سیستم اضافه میشوند.
افزونه باید با نسخه WooCommerce، ساختار سفارش و API جدید سرویس پرداخت سازگار باشد.
درگاه پرداخت در سایت اختصاصی
در پروژه اختصاصی، توسعهدهنده مستقیماً API درگاه را به سیستم متصل میکند.
این روش کنترل بیشتری روی مواردی مثل:
فراهم میکند.
کدام درگاه پرداخت را انتخاب کنیم؟
به جای انتخاب صرفاً بر اساس نام برند، این موارد را کنار هم بررسی کنید:
- پایداری سرویس
- شرایط پذیرندگی
- کارمزد
- زمان تسویه
- کیفیت API
- پشتیبانی
- گزارشگیری
- تناسب با مدل کسبوکار
اگر پرداخت برای کسبوکار شما حیاتی است، بهتر است از ابتدا امکان افزودن درگاه دوم نیز در معماری سیستم در نظر گرفته شود.
پرداخت آنلاین فقط یک دکمه نیست؛ بخشی از سیستم مالی کسبوکار است.
در WebMorteza اتصال درگاه با سفارش، کیف پول، فاکتور، پیامک، گزارش تراکنش، پرداخت بیعانه و منطق اختصاصی پروژه یکپارچه میشود.
سؤالات متداول درباره درگاه پرداخت
درگاه مستقیم بهتر است یا پرداختیار؟
بستگی به نوع کسبوکار، شرایط دریافت درگاه، امکانات مورد نیاز و مدل تسویه دارد.
آیا برای سایت میتوان چند درگاه داشت؟
بله. میتوان چند سرویس پرداخت تعریف کرد و حتی درگاه جایگزین در زمان اختلال داشت.
Callback یعنی پرداخت موفق شده است؟
خیر. نتیجه باید از طریق API سرویس پرداخت Verify شود.
چرا مبلغ از حساب مشتری کم شده ولی سفارش ناموفق است؟
ممکن است ارتباط هنگام Callback یا Verify قطع شده باشد. وضعیت تراکنش باید از طریق سرویس پرداخت بررسی شود.
آیا درگاه پرداخت به SSL نیاز دارد؟
استفاده از HTTPS برای سایتهای دارای اطلاعات مالی و حساب کاربری یک الزام جدی امنیتی است.
آیا میتوان پرداخت بیعانه داشت؟
بله. منطق بیعانه در خود سیستم پیادهسازی میشود و درگاه فقط مبلغ تعیینشده را دریافت میکند.
درگاه پرداخت باید با کل فرآیند فروش هماهنگ باشد.
یک درگاه خوب علاوه بر امکان دریافت وجه، باید API قابل اعتماد، گزارش مناسب، پایداری و پشتیبانی خوبی داشته باشد.
از سمت سایت نیز Verify، مدیریت خطا، ثبت تراکنش و جلوگیری از پرداخت تکراری باید اصولی پیادهسازی شوند.
تجربه پرداخت خوب زمانی ساخته میشود که بخش فنی، مالی و تجربه کاربری همزمان درست طراحی شده باشند.
گفتوگو درباره این مطلب
۰ دیدگاه