API ডকুমেন্টেশন
সব রিকোয়েস্টে X-Api-Key হেডার লাগবে। কী পাবেন সেটিংস পাতায়।
১. অর্ডার তৈরি করুন
বিশ্বস্ত একটি ইউনিক অঙ্ক ফেরত দেবে। কাস্টমারকে ঠিক সেই অঙ্কটাই পাঠাতে বলবেন — এক পয়সা এদিক-ওদিক হলে মিলবে না, আর সেটাই দুই অর্ডার গুলিয়ে যাওয়া ঠেকায়।
POST https://biswasto.com/api/order.php
X-Api-Key: your_api_key
Content-Type: application/json
{
"order_ref": "INV-1047",
"amount": 1250.00,
"customer_name": "রুমানা আক্তার",
"customer_phone": "01712345678",
"provider": "bkash",
"callback_url": "https://yourshop.com/callback"
}
// 201 Created
{
"ok": true,
"order_ref": "INV-1047",
"amount": 1250.00,
"payable_amount": 1250.07, // ← এই অঙ্কটাই কাস্টমারকে বলুন
"status": "pending",
"expires_at": "2026-08-18 15:17:00"
}
একই order_ref আবার পাঠালে নতুন অঙ্ক তৈরি হয় না — আগেরটাই ফেরত আসে। তাই রিট্রাই নিরাপদ।
২. অবস্থা দেখুন
GET https://biswasto.com/api/order.php?order_ref=INV-1047
X-Api-Key: your_api_key
{
"ok": true,
"status": "verified",
"verified": true,
"verified_at": "2026-08-18 14:32:11",
"verify_method": "auto"
}
৩. ওয়েবহুক
অর্ডার যাচাই হওয়ামাত্র আপনার ঠিকানায় POST যাবে। পোলিং করার দরকার নেই।
POST https://yourshop.com/callback
X-Biswasto-Signature: 3f9a... (HMAC-SHA256)
{
"event": "order.verified",
"order_ref": "INV-1047",
"amount": 1250.00,
"paid_amount": 1250.07,
"transaction_id": 4821,
"verify_method": "auto",
"verified_at": "2026-08-18 14:32:11"
}
সিগনেচার অবশ্যই যাচাই করবেন — নইলে যে কেউ আপনার callback URL-এ ভুয়া পেমেন্ট পাঠাতে পারবে:
$raw = file_get_contents('php://input');
$sig = $_SERVER['HTTP_X_BISWASTO_SIGNATURE'] ?? '';
if (!hash_equals(hash_hmac('sha256', $raw, $webhookSecret), $sig)) {
http_response_code(401);
exit;
}
$data = json_decode($raw, true);
// এখন নিরাপদে অর্ডারটি ডেলিভারির জন্য চিহ্নিত করুন
৪. WHMCS-এ যুক্ত করা
biswasto.phpফাইলটি/modules/gateways/ফোল্ডারে রাখুন।- WHMCS অ্যাডমিন → Setup → Payments → Payment Gateways → Biswasto সক্রিয় করুন।
- API Key বসিয়ে সেভ করুন।
- Callback URL হিসেবে
https://biswasto.com/modules/gateways/callback/biswasto.phpব্যবহার হবে।
৫. অ্যান্ড্রয়েড অ্যাপ
পার্সোনাল নম্বরের জন্য অ্যাপটি ফোনের পেমেন্ট নোটিফিকেশন পড়ে এখানে পাঠায়। ডিভাইস টোকেন পাবেন সেটিংস পাতায়, প্রতিটি নম্বরের পাশে।
POST https://biswasto.com/api/ingest.php
X-Device-Token: your_device_token
{
"trx_id": "BKA7X92QLM",
"amount": 1250.07,
"sender": "01712345678",
"provider": "bkash",
"raw_message": "You have received Tk 1,250.07 ..."
}
// শুধু raw_message পাঠালেও চলবে — সার্ভার নিজেই পড়ে নেবে।
// অ্যাপ বেঁচে আছে জানাতে: { "ping": true }
একই trx_id দ্বিতীয়বার এলে সার্ভার "status": "duplicate" ফেরত দেয় এবং কোনো অর্ডার যাচাই হয় না। অ্যাপ এটি সফল হিসেবে ধরে নেবে, বারবার পাঠাবে না।