درگاه پرداخت آیدی‌پی (idpay) برای لاراول

این آموزش فقط برای لاراول نیست و شما با هر فریم ورک php یا بدون فریم ورک میتونید از این پکیچ استفاده کنیدبرای فهمیدن این آموزش شما باید آشنایی نسبی با لاراول یا php و شئ گرایی داشته باشید و درواقع این برای مرحله ای هست که کاربر سفارش ثبت کرده و فاکتور صادر شده حالا میخواید به درگاه پرداخت متصل بشیدبرای ایجاد قابلیت درگاه پرداخت آیدی‌پی توی سایت یا اپ شما اول نیاز دارید که توی سایت آیدی‌پی اکانت داشته باشید و سایت یا اپلیکیشنتونو ثبت کنید و تایید بشیدیا توی حالت sandbox بدون داشتن اکانت کدتون رو بنویسید و بعدش درگاه بگیریدما اینجا تصور میکنیم که شما همه ی مراحلو انجام دادین و API KEY هم گرفتینو API KEY توی آیدی‌پی یه همچین چیزیه 6a7f99eb-7c20-4412-a972-6dfb7cd253a4که توی سایت آیدی‌پی توی اکانتتون هست و ازونجا باید کپیش کنیدخب میریم توی پروژه ی لاراولموناول از همه پکیچ زیر باید نصب کنید , توی کامند لاین از طریق کامپوزر این دستور اجرا کنید :composer require shopid/idpayسورس : https://github.com/shopid-dev/idpay-phpاین پکیج خیلی سبکه و راحت نصب میشهتمام مقادیر بازگشتی و خطا ها به صورت json هستخب حالا باید اینو توی کنترلرمون استفاده کنیمروش استفاده هم خیلی راحته اول باید ایمپورتش کنیمuse shopid\idPay;بعد توی متد مورد نظرمون یه شئ ازش ایجاد میکنیمایجاد شئ :$idpay = new idPay([&quotapiKey&quot => &quot6a7f99eb-7c20-4412-a972-6dfb7cd253a4&quot, &quotsandbox&quot => true]);پارامتر apiKey که همونه که بالا توضیح دادیمپارامتر sandbox حالت تست هست که اگه true باشه شما میتونید بدون داشتن درگاه هم کدتون رو تست کنیدایجاد درخواست پرداخت :try { $req = $idpay->apiRequest([ &quotorder_id&quot => &quot1123&quot, &quotamount&quot => 2000, &quotcallback&quot => &quothttps://www.mywebsite.com/&quot, &quotname&quot => &quotshopid&quot, &quotphone&quot => &quot09120000000&quot, &quotmail&quot => &quotaa@gmail.com&quot, &quotdesc&quot => &quotorder 1123&quot, ]); print_r(json_decode($req)); } catch (Exception $error) { print_r(json_decode($error->getMessage())); }پارامتر order_id همون شماره فاکتور یا سفارشه توی سایت شماپارامتر amount مبلغ سفارشه به ریالپارامتر callback آدرسی هست که کاربر بعد از پرداخت چه موفق چه ناموفق به سایت یا اپ برمیگرده و باید وضیعت پرداخت مشخص بشهپارامتر های name و phone و mail هم که مشخصه باید از یوزر بگیریدپارامتر desc توضیح تراکنشتموم شد !اگه خطایی توی روند درخواست پیش نیاد به شما یک url برگشت داده میشه که کاربر باید به اون هدایت کنید حالا با ‌‌‌هدر یا اگه برنامتون فقط api هست اونو به فرانت بفرستید و ازش استفاده کنید همچنین مقدار id هم جداگانه دارید که توی دیتابیس ذخیره کنید و بعد از بازگشت برای صحت پرداخت ازش استفاد کنیدبررسی صحت پرداخت و تایید تراکنش :خب حالا کاربر بعد از پرداخت موفق یا نا موفق دوباره به سایت شما برمیگرده و شما باید بررسی کنید که پرداخت انجام شده یا نه و عملیات مربوط به سفارش انجام بدین و همچنین تراکنشو تایید کنیدچیزی که به شما برمیگرده json هست که داکیومنت مقادیر و توضیحاتشون اینجا هستhttps://idpay.ir/web-service/v1.1/try { $verify = $idpay->verify( [ &quotorder_id&quot => &quot1123&quot, &quotid&quot => &quot350130d9fc8b5b569fecb600538f7e72&quot, ] ); var_dump(json_decode($verify)); } catch (Exception $error) { print_r(json_decode($error->getMessage())); }پارامتر id همون id درخواست پرداخته که آیدی‌پی میده و شما باید از دیتابیس فراخوانی کنید (قبلا توی قسمت ایجاد درخواست ذخیرش کردید)اینجا هم اگه خطایی دریافت نکنید یعنی پرداخت انجام شده و تایید شده و تمامکد های خطا ها هم اینجا میتونید ببنیدhttps://idpay.ir/web-service/v1.1/#ad39f18522همچنین کد خطای 9999 مربوط به خطای شبکه هست