BSM ইনস্টলেশন ও সেটআপ গাইড

📚 BSM — ইনস্টলেশন ও সেটআপ গাইড

GSM Alo Business Payment Bridge — সম্পূর্ণ বাংলা সেটআপ নির্দেশিকা

✓ GSMConnect v2.2.7 · Business Payment Bridge

🔧 মূল প্লাগিন (BSM) ইনস্টলেশন — sale.gsmalo.com

Business Payment Bridge প্লাগিনটি sale.gsmalo.com এর WordPress-এ ইনস্টল করতে হবে। এটি সব সাইটের central ledger।

📦 ফাইল ডাউনলোড করুন

নিচের বাটনে ক্লিক করে business-payment-bridge.zip ডাউনলোড করুন:

📦 Plugin Download করুন ⬇️
⬆️ WordPress এ আপলোড করুন

WordPress Admin → Plugins → Add New → Upload Plugin

অথবা FTP/File Manager ব্যবহার করে নিচের পথে আনজিপ করুন:

/wp-content/plugins/business-payment-bridge/
✅ Activate করুন

Plugins পেজ থেকে Business Payment Bridge Activate করুন।

✅ Activate হলে স্বয়ংক্রিয়ভাবে Database Table তৈরি হবে এবং এই গাইড পেজ তৈরি হবে।
⚙️ Settings কনফিগার করুন

Live Payments → Settings এ যান এবং নিচের তথ্য পূরণ করুন:

FieldValue
Payment Bridge URLhttps://payment.gsmalo.com/upbridge.php
Brand / API KeyUddoktaPay admin থেকে সংগ্রহ করুন
API SecretUddoktaPay admin থেকে সংগ্রহ করুন
⚠️ Settings Save করার পর Test Connection চাপুন নিশ্চিত হতে।

📂 প্লাগিনের ফাইল কাঠামো

business-payment-bridge/ ├── business-payment-bridge.php # মূল ফাইল ├── includes/ │ ├── orders-store.php # অর্ডার DB store │ ├── receiver.php # connector push endpoint │ ├── order-live.php # live order polling │ ├── auto-sync.php # Dhru 60s auto-sync cron │ ├── sites.php # Connected Sites │ └── guide.php # এই গাইড └── assets/ └── js/bpb-ledger.js # Live ledger JS

💳 Payment Bridge সেটআপ — payment.gsmalo.com

UddoktaPay (Laravel) সাইটে upbridge.php আপলোড করুন। এটি BSM-কে real-time payment data সরবরাহ করে।

📦 ফাইল ডাউনলোড করুন 📦 upbridge.php Download ⬇️
⬆️ সার্ভারে আপলোড করুন

File Manager / FTP দিয়ে নিচের পথে আপলোড করুন:

payment.gsmalo.com/public_html/public/upbridge.php
⚠️ Existing upbridge.php থাকলে সরাসরি Replace করুন।
🔗 BSM Settings-এ URL সেট করুন

sale.gsmalo.com → Live Payments → Settings → Payment Bridge URL:

https://payment.gsmalo.com/upbridge.php
✅ upbridge.php — মূল UddoktaPay কোডের কোনো পরিবর্তন করা হয়নি। এটি শুধু read-only bridge।

🔄 upbridge.php কী করে?

Featureবিবরণ
MFS Amountmfs_transactions থেকে আসল payment amount দেখায় (gross)
Payment StatusCOMPLETED, PENDING, CANCELLED
Sender Phoneবিকাশ/নগদ নম্বর
TNX IDGateway Transaction ID (e.g. DFJ4GPK81Y)

🛍️ WooCommerce সাইট কানেক্ট — gsmalo.com

gsmalo.com (WooCommerce) এর অর্ডার BSM-এ real-time দেখাতে BSM Order Connector প্লাগিন লাগবে।

🔑 BSM এ API Key তৈরি করুন

sale.gsmalo.com → Live Payments → Connected Sites → Add a site

Site Name: gsmalo.com
Site URL: https://gsmalo.com

"Add site & generate keys" বাটন চাপুন

API KeyAPI Secret কপি করে সংরক্ষণ করুন

⚠️ Secret একবারই দেখা যায়। নিরাপদ স্থানে সেভ করুন।
⬆️ BSM Order Connector ইনস্টল করুন (gsmalo.com-এ)

gsmalo.com → WordPress Admin → Plugins → BSM Order Connector ইনস্টল ও Activate করুন

/wp-content/plugins/bsm-order-connector/
⚙️ Connector Settings কনফিগার করুন

gsmalo.com → Settings → BSM Connector:

FieldValue
BSM Receiver URLhttps://sale.gsmalo.com/wp-json/bpb/v1/order
API KeyBSM থেকে কপি করা Key
API SecretBSM থেকে কপি করা Secret
✅ Connection Test করুন

BSM Connected Sites → gsmalo.com → Sync now → "Completed ✓" দেখা গেলে সফল!

✅ এরপর WooCommerce-এ যেকোনো অর্ডার status পরিবর্তন হলে ≤15 সেকেন্ডে BSM Ledger-এ দেখাবে।

🏢 Dhru Fusion কানেক্ট — gsmalo.org

GSMConnect module আপলোড করে gsmalo.org-এর invoice ও payment real-time BSM-এ দেখান।

⚠️ সাবধান: Dhru Fusion core ফাইলে কোনো পরিবর্তন করা হয়নি। শুধু modules/gateways/callback/uddoktapay.php ফাইলে একটি লাইন যোগ করতে হবে।

ধাপ A: GSMConnect Module আপলোড

A১
📦 gsmconnect_FULL.zip ডাউনলোড করুন 📦 gsmconnect_FULL.zip ⬇️
A২
⬆️ আপলোড ও Extract করুন

File Manager → নিচের পথে zip আপলোড করুন → Extract করুন:

gsmalo.org/public_html/modules/gateways/

Extract হলে তৈরি হবে: public_html/modules/gateways/gsmconnect/

gsmconnect/ ├── .htaccess # Security (receiver.php only) ├── receiver.php # BSM → Dhru sync endpoint ├── hook.php # Real-time payment hook ├── cron.php # Fallback cron ├── data/ │ ├── .htaccess # Deny all (config protection) │ ├── c.dat # Encrypted config │ └── auth.dat # Auth credentials └── lib/ ├── Cfg.php, Db.php, DfBoot.php ├── Fill.php, Guard.php, Map.php └── Push.php, Reset.php

ধাপ B: Admin Panel আপলোড

B১
📦 manpower_gsmconnect.zip ডাউনলোড করুন 📦 manpower_gsmconnect.zip ⬇️
B২
⬆️ gsmconnect.php আপলোড করুন

zip থেকে gsmconnect.php বের করে নিচের পথে আপলোড করুন:

gsmalo.org/public_html/manpower/gsmconnect.php

ধাপ C: UddoktaPay Hook সংযুক্ত করুন

C১
📦 uddoktapay.php ডাউনলোড করুন (hook-enabled version) 📦 uddoktapay.php (Hook Enabled) ⬇️
✅ এই ফাইলটিতে hook ইতিমধ্যে সঠিক জায়গায় আছে। শুধু Replace করলেই হবে।
C২
⬆️ Replace করুন

নিচের পথে আপলোড করুন (existing ফাইল replace হবে):

gsmalo.org/public_html/modules/gateways/callback/uddoktapay.php
⚠️ অথবা নিজে manually ফাইল এডিট করলে verify action success-এর আগে এবং ipn action-এর exit-এর আগে নিচের লাইন যোগ করুন:
@include_once __DIR__ . '/../gsmconnect/hook.php';

ধাপ D: GSMConnect Admin Panel সেটআপ

D১
🌐 Admin Panel খুলুন
https://gsmalo.org/manpower/gsmconnect.php
D২
⚙️ Settings Tab → কনফিগার করুন
FieldValue / বিবরণ
BSM URLhttps://sale.gsmalo.com/wp-json/bpb/v1/order
API KeyBSM Connected Sites থেকে gsmalo.org-এর key
API SecretBSM Connected Sites থেকে gsmalo.org-এর secret
DB HostDhru Fusion config থেকে (সাধারণত localhost)
DB NameDhru Fusion database name
DB User / PassDhru Fusion database credentials
D৩
🔄 প্রথমবার Sync

Sync Tab → "Quick Sync (no JS)" → "Sent: X, Skip: Y, Fail: 0" দেখা গেলে সফল!

✅ এরপর BSM Connected Sites-এ gsmalo.org Online দেখাবে এবং নতুন payment গুলো auto-push হবে।

✅ প্রথমবার সেটআপ ও যাচাই চেকলিস্ট

BSM Plugin চেক

sale.gsmalo.com → Live Payments → "Orders & Payments" → Ledger table দেখাচ্ছে? ✅

payment.gsmalo.com চেক

Live Payments page-এ PAYMENT SITE (payment.gsmalo.com) column-এ data দেখাচ্ছে? ✅

Amount, TNX ID, Sender Number দেখা যাচ্ছে? ✅

gsmalo.com (WooCommerce) চেক

ORDER WEBSITE column-এ gsmalo.com দেখাচ্ছে? ✅

Order status পরিবর্তন করুন → ≤15 সেকেন্ডে BSM Ledger-এ update হচ্ছে? ✅

gsmalo.org (Dhru Fusion) চেক

BSM Connected Sites → gsmalo.org → ● Online দেখাচ্ছে? ✅

Invoice #1724 এর মতো row দেখাচ্ছে? ✅

নতুন payment করুন → ≤15 সেকেন্ডে BSM-এ দেখা যাচ্ছে? ✅


📊 Full System Flow

Customer pays via bKash/Nagad ↓ payment.gsmalo.com (UddoktaPay) receives payment ↓ upbridge.php sale.gsmalo.com (BSM) — PAYMENT SITE column updates ✓ ↓ gsmalo.org (Dhru Fusion) — invoice marked Paid ↓ hook.php (real-time) OR auto-sync (60s) sale.gsmalo.com (BSM) — ORDER WEBSITE column updates ✓ LIVE LEDGER = Payment + Order merged in one row! 🎉

🔩 সমস্যা সমাধান (Troubleshooting)

❌ WordPress 500 Error (Critical Error)

Duplicate function error — দুটি ফাইলে একই function define করা আছে।

Fix: business-payment-bridge.phporder-poll.php এর require_once সরিয়ে দিন (যদি থাকে)। শুধু order-live.php রাখুন।

দুটি ফাইলে bpb_ajax_order_poll() থাকলে Fatal Error হয়।

⚠️ ORDER WEBSITE সাইডে "Null" দেখাচ্ছে

gsmalo.org → manpower/gsmconnect.php → Sync Tab → Quick Sync

অথবা BSM Connected Sites → gsmalo.org → Sync now

hook.php install না থাকলে uddoktapay.php-এ hook line যোগ করুন।


⚠️ সময় "now ago" দেখাচ্ছে

Timezone মিসম্যাচ। একবার Quick Sync চালান — পরের sync থেকে সঠিক সময় দেখাবে।


⚠️ Live Update হচ্ছে না (page reload লাগছে)

BSM Ledger page-এ Auto ✓ checkbox checked আছে কিনা দেখুন।

WooCommerce-এর জন্য: BSM Order Connector সঠিকভাবে install ও configure আছে কিনা দেখুন।

Dhru Fusion-এর জন্য: uddoktapay.php-এ hook line সঠিক জায়গায় আছে কিনা দেখুন (exit-এর আগে)।


⚠️ gsmalo.org receiver.php 403 দেখাচ্ছে

gsmconnect/.htaccess সঠিকভাবে আপলোড হয়েছে কিনা দেখুন।

Admin panel → Settings → API Key পুনরায় Save করুন (auth.dat regenerate হবে)।


📂 গুরুত্বপূর্ণ ফাইল পথ সারসংক্ষেপ

ফাইলপথসাইট
BSM Plugin/wp-content/plugins/business-payment-bridge/sale.gsmalo.com
upbridge.phppublic_html/public/upbridge.phppayment.gsmalo.com
gsmconnect (folder)public_html/modules/gateways/gsmconnect/gsmalo.org
Admin panelpublic_html/manpower/gsmconnect.phpgsmalo.org
UddoktaPay callbackpublic_html/modules/gateways/callback/uddoktapay.phpgsmalo.org
Scroll to Top