API Documentation
Welcome! এই গাইডটি আপনাকে Easy Pay গেটওয়ে সেটআপ করতে সাহায্য করবে। আমাদের গেটওয়ে ব্যবহার করে আপনি খুব সহজেই কাস্টমারদের কাছ থেকে পেমেন্ট গ্রহণ করতে পারবেন।
Welcome! এই গাইডটি আপনাকে Easy Pay গেটওয়ে সেটআপ করতে সাহায্য করবে। আমাদের গেটওয়ে ব্যবহার করে আপনি খুব সহজেই কাস্টমারদের কাছ থেকে পেমেন্ট গ্রহণ করতে পারবেন।
আপনার পেমেন্ট সিস্টেম চালু করার জন্য নিচের URL গুলো ব্যবহার করুন:
পেমেন্ট ইনিশিয়েট করার সময় নিচের তথ্যগুলো পাঠাতে হবে:
| Field | Description | Required | Example |
|---|---|---|---|
| cus_name | Customer Full Name | Yes | John Doe |
| cus_email | Customer Email | Yes | john@example.com |
| amount | Total Payable Amount | Yes | 500.00 |
| success_url | Return URL after success | Yes | yoursite.com/success |
আপনার API রিকোয়েস্টে নিচের হেডারগুলো অবশ্যই থাকতে হবে:
| Header Name | Value |
|---|---|
| BRAND-KEY | আপনার Brand Key |
নিচের কোডটি আপনার Laravel কন্ট্রোলারে কপি করে খুব সহজে পেমেন্ট গেটওয়ে সেটআপ করুন:
// পেমেন্ট ইনিশিয়েট করার ফাংশনpublic function initiatePayment($amount) { $payload = [ "cus_name" => "User Name", "cus_email" => "user@example.com", "amount" => $amount, "success_url" => route('payment.success'), "cancel_url" => route('payment.cancel'), "metadata" => ["uid" => 1, "purpose" => "recharge"] ]; $response = Http::withHeaders([ "API-KEY" => "YOUR_API_KEY", "SECRET-KEY" => "YOUR_SECRET_KEY", "BRAND-KEY" => "YOUR_BRAND_KEY" ])->post("https://secure.easypay.easyearn.bd/api/payment/create", $payload); $result = $response->json(); return redirect($result['payment_url']);} আপনার প্রোজেক্টের কন্ট্রোলারে নিচের মেথডগুলো ব্যবহার করে অটোমেটিক পেমেন্ট রিকোয়েস্ট ও পেমেন্ট ভেরিফিকেশন সেটআপ করতে পারবেন:
// ============================================================// ১. গেটওয়ে কনফিগারেশন (API Key & URLs)// ============================================================private function getEasyPaySettings() { return [ 'brand_key' => DB::table('general_settings')->where('id', 1)->value('easypay_api_key') ?? "YOUR_DEFAULT_BRAND_KEY", 'create_url' => "https://secure.easypay.easyearn.bd/api/payment/create", 'verify_url' => "https://secure.easypay.easyearn.bd/api/payment/verify", ];}// ============================================================// ২. পেমেন্ট ইনিশিয়েট করার কোড (Initiate Payment)// ============================================================public function initiateEasyPay(Request $request, $amount) { $user = auth()->user(); $settings = $this->getEasyPaySettings(); $payload = [ "cus_name" => $user->name ?? 'User', "cus_email" => $user->email ?? 'user@gmail.com', "amount" => $amount, "success_url" => route('payment.success'), "cancel_url" => route('payment.cancel'), "metadata" => [ "uid" => $user->id, "purpose" => "payment" ] ]; $response = Http::withHeaders([ "API-KEY" => $settings['brand_key'], "SECRET-KEY" => $settings['brand_key'], "BRAND-KEY" => $settings['brand_key'], "Content-Type" => "application/json", ])->post($settings['create_url'], $payload); $result = $response->json(); if ($response->ok() && isset($result['status']) && ($result['status'] == true || $result['status'] == 1)) { return redirect($result['payment_url']); } else { return back()->withErrors('Gateway Error: ' . ($result['message'] ?? 'Unable to create payment')); }}// ============================================================// ৩. পেমেন্ট ভেরিফিকেশন কোড (Verify Callback)// ============================================================public function verifyEasyPay(Request $request) { $transactionId = $request->query('transactionId'); $settings = $this->getEasyPaySettings(); if (!$transactionId) { return ['status' => 'FAILED', 'message' => 'No Transaction ID']; } $response = Http::withHeaders([ "API-KEY" => $settings['brand_key'], "SECRET-KEY" => $settings['brand_key'], "BRAND-KEY" => $settings['brand_key'], ])->post($settings['verify_url'], ["transaction_id" => $transactionId]); $data = $response->json(); if ($response->ok() && isset($data['status']) && $data['status'] === 'COMPLETED') { return [ 'status' => 'SUCCESS', 'amount' => $data['amount'], 'uid' => $data['metadata']['uid'] ?? null, 'data' => $data ]; } return ['status' => 'FAILED', 'message' => 'Verification Failed'];}
যদি আপনি কোড করতে না চান, তবে সরাসরি আমাদের রেডি প্লাগইনগুলো ডাউনলোড করে ব্যবহার করতে পারেন: