NagorPay API Documentation

সহজ ৫টি ধাপে আপনার ওয়েবসাইটে আমাদের গেটওয়ে যুক্ত করার পূর্ণাঙ্গ গাইডলাইন।

পেমেন্ট প্রসেস কিভাবে কাজ করে?

১. রিকোয়েস্ট পাঠান

মার্চেন্ট ডাটা এনক্রিপ্ট করে আমাদের এন্ডপয়েন্টে পাঠান।

২. কাস্টমার পেমেন্ট

কাস্টমার বিকাশ/নগদ/রকেট দিয়ে পেমেন্ট সম্পন্ন করবে।

৩. ভেরিফিকেশন

আমরা ডাটা ফেরত দেব যা আপনি ডিক্রিপ্ট করে চেক করবেন।

কাজ শুরু করার আগে চেকলিস্ট

ধাপ ১: পেমেন্ট রিকোয়েস্ট (Initiation)

নিচের এন্ডপয়েন্টে রিকোয়েস্ট পাঠান। অ্যামাউন্ট ১ টাকা থেকে যেকোনো পরিমাণ হতে পারে।

GET https://www.nagorpay.codebabu.top/pay?data={ENCRYPTED_JSON_STRING}
প্যারামিটারটাইপআবশ্যকবিবরণ
user_idStringহ্যাঁআপনার মার্চেন্ট আইডি।
domainStringহ্যাঁআপনার অনুমোদিত ডোমেইন নাম।
amountDecimalহ্যাঁটাকার পরিমাণ (১ থেকে যেকোনো পরিমাণ)।
order_idStringহ্যাঁআপনার ইউনিক অর্ডার আইডি।
success_urlURLহ্যাঁসফল পেমেন্টের রিটার্ন লিঙ্ক।
cancel_urlURLহ্যাঁবাতিল পেমেন্টের রিটার্ন লিঙ্ক।

ধাপ ২: পিএইচপি কোড স্যাম্পল (PHP)

<?php
$merchant_id = "YOUR_MERCHANT_ID";
$secret_key  = "YOUR_SECRET_KEY"; 
$iv          = '1234567891011121'; // Fixed IV

$data = [
    'user_id'   => $merchant_id,
    'domain'    => 'yourwebsite.com',
    'amount'    => '100.00',
    'order_id'  => 'INV-' . time(),
    'success_url' => 'https://yourwebsite.com/success.php',
    'cancel_url'  => 'https://yourwebsite.com/cancel.php',
    'time'        => time()
];

$payload   = json_encode($data);
$encrypted = openssl_encrypt($payload, "AES-128-CTR", $secret_key, 0, $iv);
$redirect_url = "https://www.nagorpay.codebabu.top/pay?data=" . bin2hex($encrypted);

header("Location: " . $redirect_url);
exit();
?>

পদ্ধতি ২: HTML Form

<!-- ডাটা পিএইচপি দিয়ে জেনারেট করে এখানে বসান -->
<form action="https://www.nagorpay.codebabu.top/pay" method="GET">
    <input type="hidden" name="data" value="ENCRYPTED_HEX_DATA">
    <button type="submit">Pay Now</button>
</form>

৩. রেসপন্স প্যারামিটার (Callback Data)

কী (Key)বিবরণউদাহরণ
statusপেমেন্ট স্ট্যাটাসsuccess
trx_idট্রানজেকশন আইডিNPG78564213
amountপেইড পরিমাণ100.00
order_idমার্চেন্ট অর্ডার আইডিINV-501

সাকসেস পেজে নিচের ভেরিফিকেশন কোডটি ব্যবহার করুন:

<?php
$hex_data = hex2bin($_GET['data']);
$json     = openssl_decrypt($hex_data, "AES-128-CTR", $secret_key, 0, $iv);
$res      = json_decode($json, true);

if($res && $res['status'] == 'success') {
    echo "Payment successful. TRX ID: " . $res['trx_id'];
}
?>

৪. কমন এরর মেসেজসমূহ

মেসেজকারণ
Invalid Merchant IDমার্চেন্ট আইডি ভুল।
Domain Not Authorizedডোমেইন প্যানেলে যুক্ত নেই।
Amount is zero or lessঅ্যামাউন্ট ০ (শূন্য) বা তার কম হলে।
Package Expiredমার্চেন্ট প্যাকেজের মেয়াদ শেষ।

নিরাপত্তা সতর্কতা

আপনার Secret Key কখনোই ফ্রন্ট-এন্ড জাভাস্ক্রিপ্ট ফাইলে ব্যবহার করবেন না। এটি সবসময় আপনার সার্ভারের ব্যাক-এন্ড কোডে (PHP) রাখুন। কী ফাঁস হলে আপনার পেমেন্ট গেটওয়ে হ্যাক হওয়ার ঝুঁকি থাকে।

৫. সাধারণ প্রশ্ন (FAQ)

প্রশ্ন: সর্বনিম্ন কত টাকা পেমেন্ট নেওয়া যাবে?

উত্তর: আপনি সর্বনিম্ন ১ টাকা থেকে শুরু করে যেকোনো পরিমাণ পেমেন্ট গ্রহণ করতে পারবেন।

প্রশ্ন: IV কি পরিবর্তন করা যাবে?

উত্তর: না, গেটওয়ে সার্ভারের সাথে মিল রাখার জন্য অবশ্যই 1234567891011121 ব্যবহার করতে হবে।

টেকনিক্যাল সাপোর্ট প্রয়োজন?

ইন্টিগ্রেশন করতে কোনো সমস্যায় পড়লে আমাদের টিমকে জানান। আমরা আপনাকে ফ্রিতে কোড সেটআপ করে দেব।