» » نمونه کد PHP اتصال آسان و هوشمند به زرین پال

نمونه کد PHP اتصال آسان و هوشمند به زرین پال

تاریخ انتشار : 17 مرداد 1397, 22:11 نویسنده : admin 965 بازدید 1 نظر
  • 2



شاید برای شما هم پیش اومده باشه که خواسته باشید اسکریپت یا پلاگین خودتون رو به درگاه زرین پال متصل کنید اما با مشکلاتی مواجه شده باشید از جمله دشوار بودن کد نویسی, مشکل در انتخاب وب سرویس متناسب نظیر Soap یا Rest و ...

شاید هم در حال حاظر در حال استفاده از درگاه زرین پال هستید اما بنا به دلایل مختلف از جمله مشکلات میزبانی, مشکلات موجود در شبکه اینترنت داخلی, خارجی یا مشکلات زیر ساختی, میزان تراکنش های ناموفق شما زیاد هست یا اصلاً مشتریان شما به دلیل همین مشکلات قادر به اتصال به درگاه زرین پال و پرداخت وجه رو ندارند.

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

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


برتری های استفاده از این نمونه کد و روش نسبت به روش هایی که وجود داره چیه ؟
  • پروسه کدنویسی و اتصال به درگاه بسیار ساده تر شده
  • در این روش موقیت وب سرویس ایران و اروپا زرین پال قبل از اتصال توسط خود کلاس برسی میشه و عملیات از طریق لینکی انجام میشه که در دسترس باشه و پینگ کمتری داشته باشه
  • در این روش در صورتی که روی هاست شما Soap فعال باشه به صورت خودکار از این متد برای انجام تراکنش استفاده میشه و اگه متد روی هاست شما فعال نباشه به صورت خودکار ازوب سرویس Rest استفاده میشه که از CURL کمک میگیره, لذا به طور همزمان هر دو متد Soap و RestFul رو بدون نیاز به حتی یک خط کد نویسی خواهید داشت و در صورت فعال نبود هر یک از این متد اتصال به صورت خودکار از طریق متد جایگزین صورت می گیره.
  • در این روش به سادگی میتونید حالت زرین گیت ( انتقال مستقیم به صفحه پرداخت بانک ) رو فعال کنید.
  • در این روش به سادگی میتونید حالت SandBox یا پرداخت آزمایشی رو فعال کنید.
  • در این روش علاوه بر دریافت کدهای خطا میتونید تفسیر و علت خطا رو هم دریافت کنید.
  • در این روش در صورتی که با خطای ناقص بودن پارامتر مواجه بشید, در پاسخ, پارامتر مورد نظر هم به شما اعلام میشه.
  • دسترسی به لینک نهایی پرداخت بدون نیاز به قرار دادن لینک پرداخت و Authority در کنار هم ( ایجاد خودکار لینک با توجه به حالت های مختلف SandBox, WebGate, ZarinGate و ... )
  • وریفای ساده تراکنش ها تنها با ارسال مرچنت کد و مبلغ
  • و ...

چطور با این همه برتری و تفاوت کدنویسی ساده تر هست ؟

کلیه موارد عنوان شده در قالب یک کلاس توسط بنده نوشته شده, لذا کافیه خیلی ساده فایل php مربوط به این کلاس رو در پلاگین یا اسکریپت خودتون include کنید و از اون استفاده کنید.


این کد شامل 3 فایل PHP هست که یک فایل اصلی ( zarinpal_function.php ) شامل کلاس اصلی و دو فایل ( request.php و verify.php ) که به عنوان نمونه کد جهت ایجاد و فریفای کردن تراکنش هست.


فایل zarinpal_function.php ( کلاس اصلی ) :



فایل request.php ( نمونه کد ایجاد تراکنش از طریق این کلاس ) :



فایل verify.php ( نمونه کد ایجاد تراکنش از طریق این کلاس ) :



با صدا زدن تابع request به منظور ایجاد تراکنش و انتقال به صفحه پرداخت در پاسخ این موارد در دسترس و قابل استفاده هستند :

$result["Node"];         Respone Node ( ir | de | sandbox )
$result["Method"];         Connection Method ( SOAP | CURL )
$result["Status"];         ZarinPal Webservice Result Status Code
$result["Message"];         ZarinPal Webservice Result Status Message
$result["StartPay"];     ZarinPal Start Payment URL
$result["Authority"];     ZarinPal Payment Authority ( Save this in Database )

همچنین فراخوانی تابع verify به منظور برسی و وریفای کردن تراکنش این موارد در دسترس و قابل استفاده هستند :

$result["Node"];         Respone Node ( ir | de | sandbox )
$result["Method"];         Connection Method ( SOAP | CURL )
$result["Status"];         ZarinPal Callback Result Status Code
$result["Amount"];         ZarinPal Callback Result Status Message
$result["RefID"];         ZarinPal Tracking Code
$result["Authority"];     ZarinPal Authority


در ادامه میتونید این کلاس رو به همراه نمونه کدهای مربوطه در قالب یک فایل ZIP دانلود کنید

کپی برداری با ذکر منبع مجاز است :-)
پسورد فایل در صورت نیاز :
کپی
دسته بندی : وبلاگ / آموزش / آموزش PHP / دانلود

نظرات کاربران

آواتار کاربر
توسط : متین  |  در تاریخ : 21 مهر 1397 06:33
  • 1
سلام .میشه یک آموزش تصویری هم بزارید از همین موضوع

نظر دهید :

نام شما :
ایمیل :
نظر شما :
کد را وارد کنید :
( ضروری )
عکس خوانده نمی شود