# Steadfast অর্ডার সিস্টেম (PHP) – বাংলা গাইড

## কী করে এই সিস্টেম?

- রেজিস্ট্রেশন ও লগইন
- সেটিংসে Steadfast **API Key** ও **Secret Key** সেভ (এনক্রিপ্ট করে ডাটাবেজে)
- অর্ডার দিন, স্ট্যাটাস চেক, ব্যালেন্স দেখুন – সব **সার্ভার থেকে** Steadfast API তে যায়, তাই ব্লক হয় না

---

## cPanel এ চালানোর ধাপ

### ১. MySQL ডাটাবেজ বানানো

1. cPanel এ লগইন করুন।
2. **MySQL® Databases** (বা MySQL Databases) এ ক্লিক করুন।
3. **Create New Database** – একটা ডাটাবেজ বানান (যেমন: `steadfast_db`)। সেভ করুন।
4. **Create New User** – একটা ইউজার বানান ও শক্ত পাসওয়ার্ড দিন। মনে রাখুন বা কোথাও লিখে রাখুন।
5. **Add User To Database** – ওই ইউজারকে ওই ডাটাবেজের সাথে যুক্ত করুন এবং **All Privileges** দিন।

### ২. ফাইল আপলোড

- সব ফাইল (config.php, index.php, auth.php, api.php, db.php, install.php, order.php, status.php, balance.php, settings.php, encryption.php, steadfast.php, helpers.php, assets/style.css) **public_html** এর ভিতরে একটা ফোল্ডারে আপলোড করুন (যেমন `steadfast` ফোল্ডার)।
- অথবা একটা জিপ বানিয়ে আপলোড করে cPanel File Manager এ **Extract** করুন।

### ৩. config.php এডিট করা

File Manager দিয়ে **config.php** খুলে (Edit) নিচের তিনটা জিনিস আপনার ডাটাবেজ অনুযায়ী লিখুন:

```php
define('DB_NAME', 'cpanelusername_steadfast_db');   // cPanel এ যে নাম দেখাবে (প্রিফিক্স সহ)
define('DB_USER', 'cpanelusername_dbuser');        // ডাটাবেজ ইউজার
define('DB_PASS', 'আপনার_পাসওয়ার্ড');              // ইউজারের পাসওয়ার্ড
```

এছাড়া **ENCRYPTION_KEY** যেকোনো ৩২ অক্ষরের গোপন স্ট্রিং দিন (ইংরেজি/সংখ্যা), যেমন: `mySecretKey32CharactersLong!!`

সেভ করুন।

### ৪. install.php একবার চালানো

ব্রাউজারে খুলুন: **https://আপনারডোমেইন.com/steadfast/install.php**

পেজে লেখা আসবে টেবিল তৈরি হয়েছে। তারপর:

- **install.php** ফাইল ডিলিট করুন অথবা নাম বদলে রাখুন (যেমন install_old.php), যাতে কেউ আবার চালাতে না পারে।

### ৫. সাইট ব্যবহার

- **https://আপনারডোমেইন.com/steadfast/** অথবা **https://আপনারডোমেইন.com/steadfast/index.php** খুলুন।
- রেজিস্ট্রেশন করুন → লগইন করুন → **সেটিংস** এ গিয়ে Steadfast API Key ও Secret Key সেভ করুন।
- এরপর **অর্ডার দিন**, **স্ট্যাটাস চেক**, **ব্যালেন্স** – সব ব্যবহার করুন।

---

## ফাইলগুলোর কাজ

| ফাইল | কাজ |
|------|-----|
| config.php | ডাটাবেজ নাম/ইউজার/পাসওয়ার্ড ও এনক্রিপশন কী – শুধু এটাই এডিট করবেন |
| db.php | ডাটাবেজ সংযোগ |
| encryption.php | Key এনক্রিপ্ট/ডিক্রিপ্ট |
| steadfast.php | Steadfast API তে cURL দিয়ে কল |
| helpers.php | লগইন চেক, ইউজারের Key নেয়া |
| install.php | একবার চালিয়ে টেবিল তৈরি |
| auth.php | লগইন, রেজি, লগআউট |
| api.php | Key সেভ, অর্ডার, স্ট্যাটাস, ব্যালেন্স (অভ্যন্তরীণ API) |
| index.php | হোম / লগইন–রেজি ফর্ম / ড্যাশবোর্ড |
| order.php | অর্ডার ফর্ম |
| status.php | স্ট্যাটাস চেক |
| balance.php | ব্যালেন্স |
| settings.php | API Key সেভ |
| assets/style.css | স্টাইল |

---

## সমস্যা হলে

- **ডাটাবেজ সংযোগ ব্যর্থ** – config.php এ DB_NAME, DB_USER, DB_PASS ঠিক আছে কিনা দেখুন। cPanel এ ডাটাবেজের নাম অনেক সময় `cpaneluser_dbname` এরকম প্রিফিক্স সহ দেখায়।
- **প্রথমে API Key সেভ করুন** – সেটিংস থেকে Steadfast API Key ও Secret Key সেভ করুন।
- **অর্ডার ব্যর্থ** – Steadfast ডকুমেন্ট অনুযায়ী ইনভয়েস ইউনিক, ফোন ১১ অঙ্ক, ঠিকানা ও COD amount ঠিক আছে কিনা চেক করুন।

---

## সংক্ষেপে

PHP দিয়ে সব কাজ সার্ভারে হয়, তাই Steadfast API ব্লক করে না। শুধু cPanel এ ডাটাবেজ বানান, ফাইল আপলোড করুন, config.php পূরণ করুন, install.php একবার চালান – তারপর ব্যবহার করুন।
