راه‌اندازی پرداخت اینترنتی رزرو با افزونه‌های جانبی

این راهنما مسیر کامل راه‌اندازی پرداخت اینترنتی رزرو با درگاه‌های متصل به گرویتی‌فرمز را توضیح می‌دهد.

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

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

قبل از شروع چه چیزهایی باید آماده باشد

  • افزونه Gravity Forms نصب و فعال باشد.
  • فرم رزرو بوکلیو ساخته شده باشد و فیلد رزرو بوکلیو داخل آن وجود داشته باشد.
  • در فرم، دست‌کم یک فیلد قیمت‌گذاری معتبر گرویتی‌فرمز مثل محصول یا مجموع وجود داشته باشد. (اگر فیلد بوکلیو را به فرم اضافه کرده‌ باشید و خدمتی قیمت داشته باشد بصورت خودکار اعمال شده و نیاز به کاری نیست)
  • افزونه درگاه پرداخت موردنظر شما مثل پِی‌زیتو یا گیت‌لند نصب و فعال باشد.
  • کد یا کلید اتصال درگاه از پنل پرداخت‌یار دریافت شده باشد.

منطق کلی این راه‌اندازی چیست

  1. ابتدا افزونه درگاه را در وردپرس نصب و به حساب پرداخت‌یار متصل می‌کنید.
  2. بعد در همان افزونه یا در تنظیمات فرم، یک فید پرداخت برای فرم رزرو می‌سازید.
  3. سپس در بوکلیو مشخص می‌کنید کدام وضعیت‌های پرداخت، رزرو را تایید یا لغو کنند.
  4. در پایان، یک رزرو تست انجام می‌دهید تا بازگشت از درگاه، ثبت مبلغ و تغییر وضعیت رزرو را بررسی کنید.

مرحله ۱: افزونه درگاه را نصب و به حساب پرداخت‌یار وصل کنید

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

نمونه مسیر در پِی‌زیتو

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

نمونه مسیر در گیت‌لند

در راهنمای گیت‌لند هم مسیر مشابه است: افزونه را نصب و فعال می‌کنید، در تب لایسنس آن را فعال می‌کنید، از مسیر گیت‌لند > درگاه‌ها درگاه‌های لازم را فعال می‌کنید، اطلاعات اتصال مثل API Key را وارد می‌کنید و در صورت نیاز اولویت درگاه‌ها را تنظیم می‌کنید. سپس داخل تنظیمات فرم گرویتی‌فرمز، گیت‌لند را برای همان فرم فعال می‌کنید. راهنمای گیت‌لند

مرحله ۲: واحد پول و مبلغ فرم را درست کنید

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

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

مرحله ۳: برای فرم رزرو، فید پرداخت بسازید

بعد از آماده‌شدن درگاه، باید خود فرم رزرو را به آن وصل کنید. این کار معمولاً از داخل ویرایش همان فرم و از منوی تنظیمات فرم انجام می‌شود؛ جایی که افزونه درگاه، صفحه اختصاصی خودش را به گرویتی‌فرمز اضافه می‌کند.

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

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

مرحله ۴: منطق بوکلیو برای وضعیت‌های پرداخت را تنظیم کنید

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

در تنظیمات بوکلیو، تب وضعیت‌ها سه بخش مهم برای این موضوع دارد:

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

مقادیر پیش‌فرض فعلی محصول این‌ها هستند:

  • تایید رزرو روی وضعیت‌های پرداخت شده و تایید شده
  • لغو رزرو روی وضعیت‌های عودت شده، باطل‌ شده و لغو شده
  • اگر وضعیت پرداخت ناموفق باشد، رزرو به سمت رد شده می‌رود
  • اگر وضعیت پرداخت هنوز در انتظار باشد، رزرو با وضعیت پیش‌فرض رزرو ثبت می‌شود

مرحله ۵: قفل پرداخت ناقص را بازبینی کنید

اگر کاربر وارد درگاه شود اما پرداخت را نیمه‌کاره رها کند، رزرو نباید برای همیشه ظرفیت را نگه دارد. بوکلیو برای این حالت یک مهلت انتظار برای نتیجه درگاه دارد که زمان آن بین ۵ تا ۳۰ دقیقه تنظیم می‌شود و پیش‌فرض فعلی آن ۱۰ دقیقه است.

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

مرحله ۶: فرم را منتشر و یک پرداخت تست انجام دهید

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

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

بعد از پرداخت موفق، در بوکلیو چه چیزهایی ثبت می‌شود

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

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

اگر از پِی‌زیتو یا گیت‌لند استفاده می‌کنید، این تفاوت را بدانید

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

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

خطاهای رایج و راه‌حل آن‌ها

کاربر پرداخت می‌کند ولی رزرو تایید نمی‌شود

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

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

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

نام درگاه در رزرو عمومی یا مبهم است

بعضی افزونه‌های درگاه به‌جای نام درگاه، متن عمومی مثل «درگاه پرداخت» یا «ارسال به درگاه …» برمی‌گردانند. بوکلیو بخشی از این مقادیر را نرمال‌سازی می‌کند، اما اگر افزونه درگاه برچسب خیلی مبهمی بدهد، ممکن است در نمایش نهایی هم همان ابهام دیده شود.

بعد از رهاشدن پرداخت، اسلات هنوز اشغال است

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

پرداخت آنلاین با رزروهای صفر تداخل دارد

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

چک‌لیست نهایی راه‌اندازی

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