آموزش ساخت درگاه پرداخت در لاراول (Laravel) – زرین پال

0 358

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

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

درگاه پرداخت در لاراول

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

سوال اول: درگاه پرداخت واسط چیست؟
پاسخ: درگاه پرداخت واسط در واقع به عنوان یک واسطه بین شما و بانک عمل می کند و کاربر پس از پرداخت وجه در این درگاه، حساب بانکی شما (کیف پول تان) را در سایت های درگاه واسط شارژ می کند. سپس شما می توانید با درخواست وجه از شرکت مورد نظر، در یک بازه زمانی خاص (مثلا ۱۲ ساعت الی ۴ روز) مبلغ مورد درخواستی را در کارت بانکی خود دریافت کنید.

سوال دوم: آیا درگاه های واسط مورد اعتماد هستند؟
پاسخ: پاسخ به این سوال کمی دشوار است. از طرفی بله و از طرف دیگر خیر. درگاه های پرداخت واسط بسیار زیادی در سرتاسر ایران در حال فعالیت هستند و واقعا کدامیک از آنها را می توان امین و مطمئن شمرد. در حال حاضر تنها درگاه واسط معتبر در ایران، درگاه پرداخت زرین پال می باشد. این شرکت جزو اولین شرکت های پرداخت واسطه بوده که در حال حاضر با امضاء تفاهم نامه همکاری با شاپرک به عنوان یکی از معتبرترین درگاه های واسط شناخته میشود.

در ادامه این آموزش به شما یاد می دهیم که چگونه یک درگاه پرداخت در لاراول با اتصال به زرین پال ایجاد کنید. با ما همراه باشید.

عضویت در سایت زرین پال

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

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

ساخت درگاه پرداخت در لاراول

ابتدا با دستور زیر لاراول را نصب می کنیم.

پکیج nusoap چیست؟

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

راه اندازی View صفحه پرداخت

حال به مسیر resources -> views بروید و یک ویو با نام shop.blade.php ایجاد کنید و کدهای زیر را در آن قرار دهید

در کد بالا یک Text Box به همراه یک دکمه قرار دادیم. در Text Box قیمتی که می خواهیم از کاربر دریافت کنیم را وارد کرده و با زدن دکمه خرید کاربر به درگاه متصل شده و می تواند پرداخت را انجام دهد.

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

مسیردهی (Routing) درگاه پرداخت در لاراول

حال فایل web.php را باز کرده و کدهای زیر را در آن قرار دهید:

مسیرهای تعریف شده ما به شرح زیر است:

مسیر buy

اگر کاربر به مسیر www.yoursite.com/buy رفت، فرم پرداخت برای آن ظاهر شود.

مسیر order

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

مسیر shop

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

توضیحات مسیر order و shop در ادامه آمده است.

در ضمن دوستان عزیز در صورتیکه به فریم ورک لاراول مسلط نیستید می توانید با تهیه دوره آموزش ویدیویی صفر تا صد لاراول، به عنوان یک متخصص در جامعه برنامه نویسان فعالیت کنید. در این دوره با دو پروژه کاربردی CMS بلاگ و فروشگاه اینترنتی مشابه دیجی استایل، هر آنچه از لاراول مورد نیاز است را به شما آموزش می دهیم:

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

سپس دستور زیر را برای ایجاد یک کنترلر وارد کنید.

حال یک پوشه با نام lib در فولدر app ایجاد کنید و داخل پوشه lib یک فایل با نام zarinpal.php بوجود بیاورید و کدهای زیر را در آن قرار دهید.

این کلاس توسط زرین پال برای اتصال سایت ها به درگاه بانکی، ارائه شده است.

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

حال شما باید این MerchantID را در فایل zarinpal.php وارد کنید.

  قسمت description و callbackURL را باید ویرایش کنید.

  1. callbackURL همان آدرسی است که کاربر پس از انجام پرداخت به آن هدایت می شود
  2. description در واقع توضیحاتی است که به هنگام خرید توسط سیستم به درگاه پرداخت زرین پال ارائه می شود

حال کنترلر siteController.php را باز کرده و کدهای زیر را در آن قرار دهید.

در واقع در این متد تعریف کرده ایم که وقتی کاربر روی گزینه ثبت سفارش کلیک کرد یک کلاس جدید از zarinpal ایجاد کرده و سپس مقدار res را با ارائه اطلاعات (قیمت، ایمیل کاربر و شماره تماس) به وب سرویس زرین پال بدست بیاوریم.

تست کردن درگاه پرداخت در لاراول

بنابراین برای ارسال اطلاعات، مقدار res را به آدرس وب سرویس زرین پال ریدایرکت می کنیم. برای تست کردن این متد لطفا مراحل زیر را طی کنید:

حال مرورگر را باز کرده و به آدرس localhost:8000/buy بروید.

بعد از باز شدن صفحه، یک مقدار به عنوان قیمت در Text Box وارد کنید و دکمه خرید را بزنید.

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

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

برای اینکار یک متد به نام Order در کنترلر siteController.php تعریف کرده و صحت پرداخت کاربر را در آن بررسی می کنیم.

نتیجه گیری

پس از پرداخت، وب سایت زرین پال یک پاسخ را در قالب متغییر request (مشابه درخواست ها در لاراول) برای ما ارسال می کند. در این حالت باید request را مورد بررسی قرار دهیم. داخل request اطلاعاتی به شرح زیر است:

  • Authority: بیانگر وضعیت احراز هویت کاربر برای پرداخت می باشد
  • status: بیانگر وضعیت پرداخت می باشد

در نظر داشته باشید که این اطلاعات با متد GET به سایت لاراولی ما ارسال می شود. بنابراین مسیری که به نام order تعریف کرده ایم از این متد پیروی می کند.

حال اگر مقدار status برابر ۱۰۰ بود بدین منظور است که عملیات موفقیت آمیز بوده و شما می توانید دستورهای مورد نیاز خودتان را اعم از ارسال فایل به کاربر یا ثبت سفارش و … انجام دهید. در غیر اینصورت پرداخت نا موفق می باشد.

برای دریافت اطلاعات سایر اعدادی که وضعیتهای (status) متفاوتی را به ما گزارش می دهند، لطفا به سایت زرین پال رفته و مستندات آن را مطالعه کنید.

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

لینک دانلود

ارسال نظر

توجه:‌ آدرس ایمیل شما منتشر نخواهد شد.