ابتدا به آدرس زیر رفته و پلاگین را بر اساس راهنمای سایت دانلود و نصب نمایید.
https://github.com/nasrinrezaei45/shepacom
مراحل نصب
بعد از نصب لاراول ابتدا پکیج را به صورت کامل به وسیله کامپوزر و دستور زیر نصب کنید.
composer require nasrinrezaei45/shepacom
بعد از اتمام نصب پکیج و موفقیت آمیز بودن آن دستور زیر را اجرا نمایید.
php artisan vendor:publish --provider="NasrinRezaei45\Shepacom\ShepacomServiceProvider"
تنظیمات در فایل .env
SHEPACOM_API_KEY=test SHEPACOM_REDIRECT=/shepacom/callback
Api سایت و آدرس بازگشت در اینجا قابل تنظیم می باشد. در صورت استفاده از سندباکس کافی است api را برابر با کلمه sandbox قرار دهید.
نکته :آدرس برگشت نیز در قسمت فراخوانی کلاس نیز قابل ویرایش و تنظیم می باشد.
نمونه کلاس و نحوه استفاده از آن :
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use NasrinRezaei45\Shepacom\Exceptions\SendException; use NasrinRezaei45\Shepacom\Exceptions\VerifyException; use NasrinRezaei45\Shepacom\ShepacomPG; class PaymentController extends Controller { public function pay() { $shepacom = new ShepacomPG(); $shepacom->amount = 100000; // Required, Amount $shepacom->factorNumber = 'Factor-Number'; // Optional $shepacom->description = 'Some Description'; // Optional $shepacom->mobile = '091xxxxxxxx'; // Optional, If you want to show user's saved card numbers in gateway $shepacom->email = 'nasrinrezaei45@gmail.com'; // Optional, If you want to show user's saved card numbers in gateway $shepacom->callback = 'http://127.0.0.1:8000/verify'; // Optional, If you want to show user's saved card numbers in gateway try { $shepacom->send(); return redirect($shepacom->paymentUrl); } catch (SendException $e) { throw $e; } } public function verify(Request $request) { if(isset($request->status) && ($request->status == "success")) { $shepacom = new ShepacomPG(); $shepacom->token = $request->token; // Shepa.com returns this token to your redirect url $shepacom->amount = 100000; // Required, Amount try { $verify = $shepacom->verify(); // returns verify result from Shepa.com like (transId, cardNumber, ...) dd($verify); } catch (VerifyException $e) { throw $e; } } else { dd("cancel payment"); } } }
و سپس روت های زیر را در قسمت Routes ، اضافه می نمایید.
Route::get('pay', 'PaymentController@pay'); Route::get('verify', 'PaymentController@verify');
پارامترهای مبلغ و آدرس بازگشت الزامی و پارامترهای شماره همراه ، ایمیل ، و توضیحات دلخواه می باشد.بعد از ارسال این موارد در صورت نبود مشکل به آدرس ارسالی باز بر می گردد.
جهت فراخوانی آدرس verify ، توکن و مبلغ را مجددا ارسال می نماییم و درصورت درست بودن تراکنش اطاعات ترکنش ارسال می گردد.
در صورت موفق بودن تراکنش اطلاعات زیر ارسال می گردد.
فیلدها | توضیحات |
refid | شماره پیگیری تراکنش |
transId | شناسه تراکنش |
amount | مبلغ تراکنش |
cardNumber | شماره کارت کاربر |
نکته : در صورت استفاده از توابع به صورت فساد (Facades) موارد زیر را انجام میدهیم:
در فایل config/app.php در قسمت aliases خط زیر را اضافه می نماییم :
'Shepacom' => NasrinRezaei45\Shepacom\Facades\Shepacom::class
حالا به راحتی می توان از توابع زیربه صورت فساد(Facades) استفاده نمود :
Shepacom::send($amount, $redirect = null, $email = null, $mobile = null, $description = null, $api = null); Shepacom::verify($token);