هر پرداخت اینترنتی معمولاً از سایت، اپلیکیشن یا بات (مثلاً در تلگرام یا اینستاگرام) شروع میشود که با عنوان آن ارجاعدهنده یا Referrer شناخته میشود. وقتی کاربر پرداخت را انجام میدهد، در پایان به یک صفحه خاص، که به آن صفحه بازگشت یا CallBack میگویند برمیگردد تا نتیجه پرداخت، مثل رسید خرید یا فعال شدن یک سرویس را ببیند.
در سیستم پرداخت شاپرک، هر درگاه پرداخت فقط برای یک دامنه (مثلاً example.com) ثبت میشود. بنابراین، هم آغاز پرداخت و هم بازگشت پس از پرداخت باید حتماً از یک صفحه اینترنتی روی همین دامنه انجام شوند.
این یعنی اپلیکیشنها، برنامهها یا باتها نمیتوانند بهتنهایی پرداخت را شروع یا نتیجه آن را دریافت کنند. آنها باید کاربر را به یک صفحه وب رسمی روی دامنه ثبتشده هدایت کنند تا از آنجا پرداخت شروع شود یا نتیجه آن نمایش داده شود.
از ابتدای تیرماه امسال با توجه به مسائل امنیتی در شبکه پرداخت، تاکید بیشتری بر رعایت این ساختار وجود دارد. به همین دلیل از پذیرندگان عزیز دعوت میکنیم برای جلوگیری از آسیب با خواندن این مقاله و تطابق درگاه خود، از وقوع خطا و مسدود سازی درگاه پرداخت خود پیشگیری نمایند.
آشنایی با فرایند پرداخت

فرایند پرداخت، از صفحهی وب آغازگر – مثلا صفحه نمایش فاکتور نهایی پرداخت- آغاز میشود، کاربر با فشردن دکمهی پرداخت به زرینپال و صفحه درگاه پرداخت اینترنتی (IPG) هدایت میشود. در این هنگام مرورگر وب کاربر، نشانی صفحهی آغازگر پرداخت را در اختیار زرینپال قرار میدهد. کاربر پرداختکننده پس از ورود اطلاعات کارت و انجام موفق پرداخت در درگاه اینترنتی، کاربر به صفحهی نتیجه پرداخت یا CallBack مانند صفحه رسید پرداخت یا صفحه فعالسازی سرویس، بازگردانده میشود.
از نظر شاپرک و استانداردهای امنیتی ضروری است که دامنه نشانی صفحه آغازگر پرداخت با نشانی نتیجه پرداخت و هر دوی آنها با دامنه رسمی درگاه (ثبت شده در زرینپال و شاپرک) تطابق داشته باشد.
تطابق دامنه نشانی آغازگر با نتیجه پرداخت، این اطمینان امنیتی را میدهد که کاربر با آگاهی پرداختش را از همان سامانهای شروع کرده است که قرار است سرویس را در نتیجه پرداخت به او ارائه دهد. به این ترتیب از حملات فیشینگ کاربر را فریب میدهند تا با تصور یک پرداخت صحیح به پذیرنده مهاجم پول واریز نکنند.
همچنین استفاده از دامنه رسمی و ثبتشدهی درگاه، به شبکه پرداخت و نهادهای ضد پولشویی، اطمینان میدهند که امکان پرداخت توسط همان پذیرنده ثبتشده استفاده میشود و درگاه در اختیار شخص یا سامانه ثالثی قرار نگرفته یا اجاره داده نشده است.
در یک فرآیند پرداخت استاندارد دامنه اصلی برابر با دامنه نشانی ارجاع دهنده و دامنه نشانی نتیجه پرداخت است. در صورتی که مغایرتی در هر یک از این سه وجود داشته باشد نیاز به بررسی و رفع مغایرت است که در ادامه به آن میپردازیم.
سه حالت ایجاد مغایرت
در سه حالت فرایند پرداخت به دلیل عدم تطابق دامنه رسمی درگاه، دامنه آغازگر یا دامنه نتیجه پرداخت، پرداخت انجام شده مشمول خطا فرض میشود. این خطاها میتواند شامل عدم تطابق دو مورد از این سه ویژگی یا عدم تطابق هر سه باشد.
در ادامه شرایط وقوع این خطاها و شیوه رفع آنها و کمکی زرینپال به حل آنها میکند را مرور میکنیم.
خطای اول: استفاده از دامنه متفاوت از دامنه رسمی

در صورتی که از موقعیتهای بدبینانه و تخلفات قطعی همچون اجاره درگاه به سامانههای غیرقانونی همچون وبسایتهای قمار، فروشندگان کالاهای غیرقانونی و … گذر کنیم، اغلب در دو حالت پذیرندگان به اشتباه دچار این مغایرت میشوند:
تفاوت دامنه رسمی با دامنه عملیاتی وبسایت: در اکثر مواقع پذیرنده درگاه را با دامنهای تهیه میکند ولی بعدا به دلایل مختلف مثل جذابیت بازاریابی، دامنه متفاوتی را به صورت عملیاتی برای وبسایت خود استفاده میکند. برای نمونه دامنه با پسوند .ir ثبت کرده است ولی در دامنهای با پسوند .com فعالیت میکند.
تفکیک سامانه بخش فروش و پرداخت از وبسایت اصلی: گاهی نیز پذیرنده همچنان از دامنه رسمی برای وبسایت اصلی خود استفاده میکند ولی به دلایل فنی، بخش فروش یا پرداخت خود را در سامانهای جداگانه و روی سرور متفاوتی میزبانی میکند که برای آن از یک دامنه متفاوت استفاده شده است. برای مثال دامنه اصلی یک بازی برای یک صفحه سکو (Landing Page) استفاده شده است ولی سرور اجرای بازی آدرسی کاملا متفاوت دارد.
راهحلها:
تغییر دامنه رسمی: در صورتی که اصرار به حفظ وضعیت فعلی دارید، باید برای دامنه مورد استفاده خود در زرین پال درخواست درگاه ثبت نمایید و از درگاه جدید برای پرداخت استفاده کنید.
تغییر دامنه عملیاتی: در صورت امکان، دامنه محیط عملیاتی خود را به دامنه ثبتشده نزد زرینپال و شاپرک تغییر دهید. دربارهی سایتهای وردپرسی در صورتی که دامنه اصلی را هم روی همان سرور تنظیم کردهاید، کافی است که از تنظیمات وردپرس، آدرس دامنه وبسایت را تغییر دهید. البته این موضوع ممکن است مشکلاتی برای SEO و صفحات بایگانیشده شما پدید آورد که باید با هدایت (Redirect) صحیح این مشک را برطرف کنید.
استفاده از زیردامنهای از دامنه اصلی: در صورتی که سامانه بخش فروش شما در سروری متفاوت از سرور بخش اصلی وبسایتتان مستقر است، میتوانید به جای استفاده از دامنه نامرتبط، یک زیر دامنه از دامنه رسمی خود مثلا pay.domain.com را برای ارجاع به آن سرور استفاده کنید. برای این کار کافی است از بخش DNS Zone دامنه در سرویس مدیریت دامنه یا روی سرور اصلی استفاده کنید.
استفاده از هدایتکننده میانی: در صورتی که هیچ کدام از روشهای بالا امکانپذیر نبود، میتوانید از یک هدایتکننده میانی (Forwarder یا Redirector) روی دامنه اصلی استفاده کنید که کاربر را از مسیر مشکلدار به یک مسیر با دامنه رسمی هدایت کند تا در شبکه پرداخت صفحه آغازگر پرداخت با دامنه صحیح ثبت شود. ضمنا باید به عنوان صفحه نتیجه پرداخت (CallBack) نیز صفحهای میانی با دامنه اصلی تنظیم کنید تا ادامه مسیر از طریق آن انجام شود.
خطای دوم: پرداخت بدون ارجاعدهنده در نرمافزارها و باتها

پرداخت از طریق نرمافزارها و باتها، به دو روش انجام میشود:
- روش صحیح: کاربر را از بات یا نرمافزار به صفحهای روی دامنه رسمی ارجاع میدهد و از آنجا کاربر را به زرینپال و درگاه پرداخت اینترنتی هدایت میکند که بهتر است با نمایش فاکتور نهایی پرداخت همراه باشد.
روش معمول و اشتباه: کاربر را به صورت مستقیم به زرینپال (و نشانی startpay.zarinpal.com) هدایت میکند که در این صورت به دلیل اینکه کاربر از بیرون از نرمافزار مرورگر و یک نرمافزار دیگر به این صفحه هدایت میشود، مرورگر نشانی ارجاعدهنده را خالی یا صرفا «/» به زرینپال میفرستد. در این صورت حتی اگر صفحه نتیجه پرداخت با دامنه اصلی تطابق داشته باشد، پرداخت به دلیل عدم تطابق ارجاعدهنده (Referrer) مشمول خطا خواهد بود.
راهحلها
ایجاد صفحه میانی فاکتور خرید: در صورتی که امکانی فنی توسعه محصول را دارید و روی بات یا نرمافزار صفحه فاکتور خرید ندارید، این صفحه را روی نشانی از دامنه اصلیتان تعریف کنید تا کاربر پیش از ارجاع به صفحه درگاه پرداخت، جزئیات نهایی خرید و خصوصا قیمت نهایی را ببیند و با اطمینان به مسیر پرداخت ادامه دهد.
استفاده از یک هدایتگر میانی روی دامنه اصلی: در صورتی که در طراحی محصول شما، اطلاعات فاکتور روی بات یا نرمافزار نمایش داده میشود و نمایش مجدد آن در قالب وب اضافی است، کافی از یک هدایتگر (Forwarder یا Redirector) تحت وب استفاده کنید و به جای هدایت مستقیم کاربر به مسیر درگاه پرداخت، ابتدا کاربر را به این صفحه ارجاع دهید تا فرایند پرداخت با ارجاع یک صفحه وب صحیح انجام شود.
خطای نوع سه: عدم تطابق سهگانه دامنه اصلی، ارجاعدهنده و نتیجه خرید

در موقعیتهایی هر سه ویژگی نشانیهای فرایند پرداخت یعنی دامنه اصلی، دامنه نشانی ارجاعدهنده و دامنه نشانی نتیجه خرید با یکدیگری تطابق ندارد. این یعنی پذیرنده نه تنها مسیر شروع پرداخت را از صفحهای روی دامنهای متفاوت با نشانی نتیجه خرید آغاز کرده است، بلکه برای محیط عملیاتی پردازش خرید و نشانی نتیجه خرید نیز از دامنهای غیر از دامنه رسمی و معرفیشده خود استفاده میکند.
این جنس از پرداختها، به صورت جدی مشکوک به عملیاتهای فیشینگ یا سو استفاده از مجوز پرداخت هستند زیرا همه موقعیتهای احراز پذیرنده را مخدوش کردهاند و به همین دلیل متخلفین آن در معرض تعلیق درگاه قرار خواهند گرفت.
راهحلها
برای حل این مشکل ضروری است که همه اجزای پرداخت با دامنه اصلی منطبق شوند؛ یعنی:
- دامنه اصلی برای محیط عملیاتی پردازش پرداخت و صفحه نتیجه خرید استفاده شود (مشابه خطای نوع اول)
- فرآیند آغاز پرداخت به شکلی اصلاح شود که از نشانی روی دامنه مشابه نشانی نتیجه پرداخت، کاربر را به صفحه درگاه پرداخت هدایت کند.
اقدامات مورد نیاز برای رفع مغایرت تا تاریخ 8 مرداد
همان طور که گفته شد در هر پرداخت اینترنتی، سه بخش کلیدی وجود دارد که از نظر دامنه باید بهصورت کامل با یکدیگر مطابقت داشته باشند: نخست، سایتی که کاربر خرید را از آن آغاز میکند (ریفر)؛ دوم، سایتی که درخواست پرداخت را به درگاه ارسال میکند و سوم، سایتی که کاربر پس از پرداخت به آن بازمیگردد (کالبک).
با توجه به الزامات و تاکید شبکهی شاپرک در خصوص مطابقت نشانی صفحه آغازگر یا ارجاعدهنده پرداخت (Referrer) و صفحه نتیجه پرداخت یا بازگشت از پرداخت (CallBack) با دامنهی ثبت شده درگاه، خواهشمندیم برای جلوگیری از اختلال در تراکنشها و قطع درگاه، نسبت به اصلاح تا تاریخ ۸ مرداد ۱۴۰۴ اقدام نمایید.
وجود هرگونه مغایرت در این سه مرحله پس از تاریخ ذکر شده، از دید شاپرک تخلف محسوب میشود و میتواند منجر به بروز اختلال در فرآیند پرداخت، سلب اعتماد کاربران نسبت به کسبوکار، و حتی مسدود شدن یا تعلیق درگاه پرداخت توسط شاپرک یا زرینپال گردد.