فرید عقیلی
فرید عقیلی
خواندن ۲ دقیقه·۵ سال پیش

آموزش استفاده از زرین‌پال در لاراول

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

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

درگاه پرداخت اینترنتی (عکس از قبضینو)
درگاه پرداخت اینترنتی (عکس از قبضینو)

تو این نوشته می‌خوام شما رو با یک پکیج لاراول برای استفاده خیلی ساده و بی‌دردسر از درگاه پرداخت زرین‌پال آشنا کنم؛ توضیحات کامل پکیج به فارسی در گیت‌هاب هم موجوده:

https://github.com/pishran/Zarinpal

برای اضافه کردن پکیج به پروژه از دستور Composer زیر استفاده کنید:

composer require pishran/zarinpal

در مرحله بعد، جهت تنظیم پکیج کافیه کد درگاه (مرچنت کد) خودتون رو از که زرین‌پال دریافت کردید به فایل env اضافه کنید:

ZARINPAL_MERCHANT_ID=00000000-0000-0000-0000-000000000000

در صورتی که می‌خواید رو حالت تست (Sandbox) کار کنید، کافیه تنظیم زیر رو به فایل env اضافه کنید؛ حالت تست به صورت پیشفرض غیرفعاله:

ZARINPAL_SANDBOX_ENABLED=true

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

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

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

فرستادن کاربر به درگاه پرداخت
فرستادن کاربر به درگاه پرداخت

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

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

بررسی نتیجه تراکنش
بررسی نتیجه تراکنش

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

نظر شما در مورد این پکیج چیه؟ شما درگاه پرداخت رو چطور در لاراول پیاده‌سازی می‌کنید؟ تو بخش نظرات منتظرتونم.

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