PHP SDK
PHP 7.4+Composer দিয়ে PHP অ্যাপে ক্রিপ্টো পেমেন্ট যোগ করো।
composer require whollycrypto/php-sdkশুরু করো
ইনস্টল করো, পেমেন্ট নাও ও সার্ভারের যত্ন রাখো।
root অ্যাক্সেসসহ নতুন Linux VPS ব্যবহার করো, বর্তমান ওয়েবসাইট বা ডেটাবেস সার্ভার নয়। Docker, কম্পাইলার বা ব্লকচেইন নোড লাগবে না।
| VPS | ন্যূনতম হালকা ব্যবহার | প্রস্তাবিত |
|---|---|---|
| CPU | 1 vCPU | 2 vCPU |
| RAM | 2 GB | 4 GB |
| SSD | 20 GB | 60 GB |
ন্যূনতম মানগুলো ছোট Ubuntu/Debian ইমেজে হালকা ব্যবহারের শুরুর হিসাব, পারফরম্যান্সের নিশ্চয়তা নয়। ডিস্কের হিসাবে Linux-ও আছে; সেটআপের আগে অন্তত 3 GiB খালি রাখো, সঙ্গে আপডেট, ইতিহাস ও ব্যাকআপের জায়গা।
নেটিভ ইনস্টলারের জন্য দরকার x86-64, systemd 247+ ও Python 3.9+। ARM64 ও Alpine/OpenRC অন্তর্ভুক্ত নয়।
নির্মাতা এখনও রক্ষণাবেক্ষণ করে এমন রিলিজ বেছে নাও। OS-এর বেশি চাহিদা থাকলে সেটাই প্রাধান্য পাবে: openSUSE Leap 16 ৪০ GB-এর বেশি ডিস্ক চায়।
আরও চেইন ও একসঙ্গে বেশি ইনভয়েসের জন্য বাড়তি CPU ও RAM লাগতে পারে। বড় VPS নিলেই RPC কোটা দূর হয় না। সেটআপ প্রক্রিয়ায় স্বয়ংক্রিয় টেস্ট আছে; প্রতিটি ডিস্ট্রিবিউশনে সম্পূর্ণ নতুন VPS টেস্ট এখনও শেষ হয়নি।
এই ডিফল্ট হোস্টনেমগুলো VPS-এর দিকে দাও, অথবা নিজের নাম বেছে নাও:
merchant.example.com: কনসোলpay.example.com: চেকআউটapi.example.com: APIসেটআপের সময় DNS-only রেকর্ড ব্যবহার করো। দুই ফায়ারওয়ালেই TCP 80/443 খোলো ও SSH অ্যাক্সেস চালু রাখো। PostgreSQL বা অ্যাপের 5432/8080 পোর্ট কখনো বাইরে উন্মুক্ত কোরো না।
bash <(curl -fsSL https://releases.whollycrypto.com/setup_wholly.sh)সেটআপ ডাউনলোড যাচাই করে PostgreSQL, Nginx, HTTPS ও সার্ভিস কনফিগার করে। কন্টেইনার পছন্দ? দেখো ঐচ্ছিক Docker ইনস্টলেশন.
নির্দিষ্ট রিলিজ দরকার? নতুন VPS-এ যোগ করো --version 7.8.1 ঠিক সেই স্বাক্ষরিত ভার্সন ইনস্টল করতে। এটি না দিলে সেটআপ সর্বশেষ স্থিতিশীল রিলিজ ব্যবহার করে।
রিজিউম করলে বেছে নেওয়া রিলিজ ও শেষ হওয়া ধাপগুলো থাকে, GitHub বিকল্প ব্যবহার করলেও। এটি পুরোনো ইনস্টলেশনকে কখনো ডাউনগ্রেড করে না।
ইনস্টলার পরীক্ষা করো। যোগ করো --check কমান্ডে, ইনস্টল না করে সামঞ্জস্য পরীক্ষা করতে; অথবা --help বিকল্পগুলো দেখতে।
কী বা সেটিংস না বদলে সংরক্ষিত অগ্রগতি থেকে চালাও:
bash <(curl -fsSL https://releases.whollycrypto.com/setup_wholly.sh) --resumeঅতিরিক্ত বেস ডোমেইনেও একই সার্ভিসের নাম ব্যবহার করা যায়। IPv6 রেকর্ড থাকলে সেগুলোও এই VPS-এ আসতে হবে। Cloudflare প্রক্সি চালু করো শুধু ডোমেইন যাচাইয়ের পরে.
QR পুরো বাকি পরিমাণই চায়। সহনসীমা শুধু ঘাটতি মেনে নিতে দেয়; কনফার্মেশন তখনও প্রযোজ্য।
নতুন স্বীকৃত স্টেবলকয়েন কোট ওপরের দিকে রাউন্ড হয়: 1.321 USDC → 1.33 USDC; সহনসীমা শূন্য হলেও। ন্যূনতম: 0.01 টোকেন।
বিদ্যমান ইনভয়েস, ব্যালান্স ও আংশিক পেমেন্টের বাকি অংশ সঠিক পরিমাণেই থাকে। অন্য বা কাস্টম টোকেন স্বাভাবিক নির্ভুলতা রাখে।
অ্যাডমিন সাইনআপে তোমার ইমেইল দিয়ে ক্রেডিট অ্যাকাউন্ট স্বয়ংক্রিয়ভাবে নিবন্ধিত হয়, একবারের জন্য 10 USD সমমূল্যের স্বাগত ক্রেডিটসহ। অ্যাক্টিভেশন কোড লাগে না।
ইনভয়েস তৈরি করো। সক্রিয়করণ বাকি থাকলে স্বয়ংক্রিয়ভাবে আবার চেষ্টা হয়; পুনরায় যুক্ত হলে নতুন করে ক্রেডিট দেওয়া হয় না।
তোমার Basic Auth লগইন সংরক্ষিত থাকে /root/whollycrypto/config/setup-credentials.txt-এ। এটি কনসোলের ইমেইল/পাসওয়ার্ড থেকে আলাদা।
নতুন প্রজেক্ট পায় সিস্টেমের ডিফল্ট মুদ্রা ও টাইমজোন; স্টোর প্রজেক্টের মুদ্রা ব্যবহার করে। পুরোনো অ্যাকাউন্টের টাইমজোন সেটিংস → অ্যাকাউন্টে আলাদাভাবে পরিচালিত হয়।
whollycrypto welcome তোমার কনসোল URL দেখায়।
7.0.0 থেকে নতুন ইনস্টলেশনে প্রথম অ্যাডমিন সেটআপের সময় মোড বেছে নিতে হয়। এটি ফেরানো যায় না; মোড বদলাতে নতুন ইনস্টলেশন দরকার। 7-এর আগের ইনস্টলেশন মার্চেন্ট মোডেই থাকে, অ্যাডমিন না থাকলেও।
মার্চেন্ট: নিজের প্রজেক্ট ও স্টোর চালাও। অপারেটর: এক ইনস্টলেশনে আলাদা মার্চেন্ট ব্যবসা হোস্ট করো ও নিজের প্রিপেইড প্রসেসিং ফি নাও। তোমার নিজের ব্যবসাও থাকে, ভেতরের অপারেটর ফি ছাড়াই।
অপারেটর সেটআপে চতুর্থ ঠিকানা চায়, যেমন operator.example.com; সঙ্গে তার আলাদা Basic Auth ইউজারনেম ও পাসওয়ার্ড। নাম বেছে নাও, DNS VPS-এ দাও, DNS পরীক্ষা করো ও HTTPS সক্রিয় করো। সেই ঠিকানায় সরাসরি প্যানেল খোলে। মার্চেন্ট, চেকআউট ও API ঠিকানা আলাদাই থাকে।
নতুন অপারেটর Basic Auth লগইন ব্যবহার করো, তারপর অ্যাডমিন ইমেইল/পাসওয়ার্ড। মার্চেন্ট Basic Auth বদলায় না। DNS বা সার্টিফিকেট ত্রুটির পর সেটআপ আবার চালানো যায়। 7.0.0 থেকে আপগ্রেড করা অপারেটররাও এই ধাপ শেষ করে; চালু ঠিকানাগুলো পাওয়া যেতে থাকে।
৩% হারে 100 EUR ইনভয়েসে 3 EUR মার্চেন্ট ক্রেডিট লাগে। ক্রেডিটের মুদ্রা আলাদা হলে তৈরি করার সময়কার ফিয়াট রেট ফি-সহ সংরক্ষিত হয়।
অপারেটর আলাদাভাবে স্বাভাবিক Wholly Crypto ইনস্টলেশন ফি দেয়। গ্রাহকের টাকা অন-চেইনে ভাগ হয় না। ক্রেডিট কেনার ওপর আবার চার্জ হয় না।
শুধু স্বয়ংক্রিয়ভাবে যাচাই করা সেটেলমেন্টই টপ-আপ ক্রেডিট যোগ করে। চেকআউট খোলা বা হাতে ইনভয়েস গ্রহণ করা তা করে না। রিভার্সালে লেজার এন্ট্রি হয়; রিভার্স হওয়া টপ-আপ ফেরত এলে অপারেটরের পর্যালোচনা দরকার।
হোস্টেড ক্রেডিট কম হলে IPN, ওয়েবহুক, সুইপ ও নতুন প্রজেক্ট/স্টোর তৈরি থামে। বর্তমান গ্রাহক ইনভয়েস ও পেমেন্ট গ্রহণ চলে। ইনস্টলেশন ক্রেডিট কম হলে সব হোস্টেড ব্যবসায় অটোমেশন থামতে পারে। মার্চেন্ট বন্ধ করলে লগইন ও নতুন ইনভয়েসও বন্ধ হয়, তবে পুরোনো পেমেন্ট নজরদারিতে থাকে।
এটি অ্যাপ্লিকেশন পর্যায়ের পৃথকীকরণ, প্রতিটি মার্চেন্টের আলাদা VPS নয়। মার্চেন্ট একে অন্যের প্রজেক্ট, ওয়ালেট, API তথ্য, এক্সচেঞ্জ বা ক্রেডিট দেখতে পারে না। সার্ভার অ্যাডমিন হোস্টেড হট ওয়ালেটের কী পেতে পারে। যোগ করার আগে মার্চেন্টকে জানাও; বিশ্বস্ত হোস্টিং, স্বাধীন ব্যাকআপ ও যৌথ কাজের উপযোগী ক্ষমতা ব্যবহার করো।
7.1.0 থেকে অপারেটর মোডে পাওয়া যায়।
7.2.0 থেকে, ওয়ালেট রিসিভিং ব্যালান্স, ঠিকানা ও ব্যাকআপ পরিচালনা করে; সুইপ সেন্ড ও স্বয়ংক্রিয় নিয়ম চালায়। টোকেনের ফি দিতে ETH রেখো। মার্চেন্ট টপ-আপ তাদের কেনাকাটা ট্র্যাক করে। হেডারের ক্রেডিট আলাদাভাবে ইনস্টলেশন ফি দেয়। আমার ব্যবসা নতুন ট্যাবে তোমার নিজের কনসোল খোলে।
খোলো অর্থব্যবস্থা থেকে অর্জিত ফি, যাচাই করা ইনস্টলেশন চার্জ, আনুমানিক মার্জিন ও বর্তমান মার্চেন্ট ক্রেডিট দেখো। তারিখ, মার্চেন্ট বা রিপোর্টিং মুদ্রা দিয়ে ফিল্টার করো; CSV এক্সপোর্ট করো।
রিপোর্ট প্রথম সেটেলমেন্ট অনুযায়ী ইনভয়েস গোষ্ঠীবদ্ধ করে এবং সর্বশেষ ফি রিভার্সাল দেখায়। প্রিপেইড ব্যালান্স আয় নয়। নিজের ব্যবসার চার্জ আলাদা থাকে। বাকি চার্জ বা রেট না থাকলে সংশ্লিষ্ট মার্জিন দেখানো যায় না। রূপান্তরিত পরিমাণে বর্তমান ক্যাশ করা ফিয়াট রেট ব্যবহৃত হয়; গ্যাস ও চালানোর খরচ অন্তর্ভুক্ত নয়।
মার্চেন্ট যোগ করো একটি আমন্ত্রণ তৈরি করে। 7.3.0 থেকে মার্চেন্টের ক্রেডিট মুদ্রায় বিনা মূল্যের শুরুর ক্রেডিট বেছে নাও; শূন্যও রাখা যায়। এটি তোমার অপারেটর ব্যালান্স ভরে না। ইমেইলে আমন্ত্রণ পাঠাও ডিফল্টভাবে টিক দেওয়া থাকে।
তোমার SMTP প্রোভাইডার সেট করো সেটিংস → আমন্ত্রণের ইমেইল -এ আগে, TLS বা STARTTLS দিয়ে। সংযোগ পরীক্ষা কোনো ইমেইল পাঠায় না। চাইলে ইমেইলের টিক তুলে ব্যক্তিগতভাবে লিংক পাঠাও। ইমেইল ব্যর্থ হলেও অ্যাকাউন্ট ও ক্রেডিট থাকে; মার্চেন্ট আবার তৈরি কোরো না।
আরেকটি লিংক বা পাসওয়ার্ড রিসেটের জন্য খোলো মার্চেন্ট → পরিচালনা → ব্যবহারকারীর অ্যাকাউন্ট। SMTP গ্রহণ করলেই ইনবক্সে পৌঁছানো নিশ্চিত নয়। মার্চেন্ট Basic Auth আলাদা করে পাঠাও, অপারেটরের তথ্য কখনো নয়।
আমন্ত্রণ ৪৮ ঘণ্টা, রিসেট এক ঘণ্টা থাকে। প্রতিটি একবার কাজ করে। একই পর্দা থেকে লিংক বদলাও বা বাতিল করো। রিসেট পুরোনো সেশন লগআউট করে, কিন্তু 2FA চালু রাখে। মার্চেন্ট Basic Auth তখনও দরকার।
SDK 2.6.0 ও Wholly Crypto 7.4.0+ দিয়ে হোস্টেড মার্চেন্ট অটোমেট করো। সক্রিয় করো অপারেটর → সেটিংস → অপারেটর API; তারপর নির্দিষ্ট সীমার সার্ভার-সাইড কী তৈরি করো।
পাসওয়ার্ড দিয়ে সরাসরি অ্যাকাউন্ট বানাও বা আমন্ত্রণ পাঠাও। ব্যবহারকারী, প্রজেক্ট, স্টোর, ফি ও স্থানীয় প্রিপেইড ক্রেডিট পরিচালনা করো; রিপোর্ট পড়ো ও স্বাক্ষরিত লাইফসাইকেল ইভেন্ট নাও। প্রথম লগইনে হেফাজতের সম্মতি, 2FA ও অ্যাকাউন্টগুলোর পৃথকীকরণ বজায় থাকে।
প্রতিটি পরিবর্তনের অনুরোধে সংরক্ষিত idempotency key লাগে। ক্রেডিট যোগ করা স্থানীয় অ্যাকাউন্ট সমন্বয়, ইনস্টলেশন টপ-আপ নয়। ওয়ালেটের গোপন তথ্য, টাকা পাঠানো ও সার্ভার কনফিগারেশন এই API-র বাইরে থাকে।
ব্যবহার করো api.your-domain.com/v1/operator। অপারেটর কী নিজের ব্যাকএন্ডে রাখো, ব্রাউজারে বা হোস্টেড মার্চেন্টের কাছে কখনো নয়।
সেটিংস → টোকেন প্রথমে ২৫০টি টোকেন আনে, তারপর বাকি ক্যাটালগ।
প্রজেক্ট → ওয়ালেট → সব ব্যাকআপ TXT বা QR-সহ সার্চযোগ্য অফলাইন HTML এক্সপোর্ট করে। দুটোতেই কী ও রিকভারি ফ্রেজ দেখা যায়। সার্ভারের বাইরে ব্যক্তিগত কপি রাখো; শেয়ার বা আপলোড কোরো না।
Root কী দেখতে পারে। ওয়ালেট পুনরুদ্ধারের গাইড ইনভয়েস ঠিকানা, নেটিভ গ্যাস ও বাইরের Monero/Lightning ব্যাকআপ ব্যাখ্যা করে।
সেটিংস → ঠিকানার বই: চেইন ও ঠিকানা সংরক্ষণ করো। নেটিভ কয়েন ও মিলে যাওয়া CoinGecko টোকেন নিজে থেকেই আসে। শুধু পড়ার জন্য, অ্যাডমিন পরিচালিত; চেকআউটের গ্রহণযোগ্যতা বদলায় না।
টোকেন রিডার ২২টি চেইন কভার করে। ব্যক্তিগত ব্যালান্স এবং Bitcoin/CashTokens/Kaspa ওভারলের জন্য আলাদা অ্যাক্সেস বা ইনডেক্সার দরকার। পড়তে ব্যর্থ হলে ত্রুটি দেখায়, শূন্য নয়।
ইনভয়েসের ব্যালান্স অন্য ওয়ালেটে জমা করো ম্যানুয়াল সেন্ড বা স্বয়ংক্রিয় সুইপ দিয়ে। টোকেন ট্রান্সফারের ফি দিতেও চেইনের নেটিভ কয়েন লাগে।
দাম পাওয়া যাচ্ছে না রেটের বিষয়, ব্যালান্সের নয়।
নেটওয়ার্ক ও দশমিক যাচাই হয়। প্রজেক্টজুড়ে দাম বদলালেও পুরোনো কোট বদলায় না। ক্যাটালগে মিললেই চেকআউটে চালু হয় না।
DEX Screener-এর জন্য একই কন্ট্রাক্টের পুল, $10,000 তারল্য এবং এক ঘণ্টার মধ্যে ট্রেড দরকার। রেট প্রতি মিনিটে আপডেট হয়; ব্যর্থ বা পাঁচ মিনিট পুরোনো রেট নতুন কোট বন্ধ করে।
DEX দাম কারসাজি করা যায়; এই পরীক্ষাগুলো অডিট নয়। বিশ্বস্ত স্ট্যান্ডার্ড ERC-20 বা ক্লাসিক SPL টোকেন ব্যবহার করো। Token-2022 ও এক্সটেনশন সমর্থিত নয়। উপযুক্ত পুল না থাকলে নির্দিষ্ট দাম ব্যবহার করো।
সেটিংস → সিস্টেম → আঞ্চলিক ডিফল্ট নতুন প্রজেক্টের মুদ্রা/টাইমজোন ও নতুন অ্যাকাউন্টের টাইমজোন ঠিক করে। পুরোনো সেটিংস ও ক্রেডিট বদলায় না; ড্যাশবোর্ডের মুদ্রা আলাদা করে বদলানো যায়।
ব্যক্তিগত টাইমজোন: সেটিংস → অ্যাকাউন্ট → ব্যবহারকারী সম্পাদনা.
ব্যবহার করো পেমেন্ট পদ্ধতি → এই ইনভয়েসের জন্য বেছে নাও দিয়ে গ্রহণযোগ্য চেইন/টোকেন কমিয়ে নাও। স্টোরের সব পেমেন্ট পদ্ধতি ডিফল্ট রাখে।
লাইভ হওয়ার আগে প্রতিটি পদ্ধতিতে ছোট পেমেন্ট পরীক্ষা করো। অর্ডার দেওয়ার আগে ইনভয়েস দেখো: ফেরত যাওয়ার URL পেমেন্টের প্রমাণ নয়।
ইন্টিগ্রেশনে স্বাক্ষরিত IPN/ওয়েবহুক যাচাই করো এবং স্ট্যাটাস নিশ্চিত করো ইনভয়েস API দিয়ে। একই ইভেন্টের পুনরাবৃত্তিকে একই ইভেন্ট হিসেবে ধরো।
API: ফিল্টার করো payment_methods দিয়ে chain_slug এবং asset_tickers। নিষ্ক্রিয় পছন্দ উপেক্ষা হয়; কিছু না মিললে স্টোরের ডিফল্ট চলে। শুধু চেইন দিলে তার সব সক্রিয় অ্যাসেট আসে। একই টিকার একাধিক হলে asset ID লাগে। ওয়ালেট ও রেট তখনও দরকার।
স্ক্যানার অফলাইন? ইনভয়েসে নির্ধারিত পদ্ধতি থাকে, শনাক্তকরণ অপেক্ষা করে। চেইন সংযোগে সমর্থিত API দেখো; সচল মানেই স্ক্যানারের উপযোগী নয়। ডিফল্ট: দুই স্বাধীন প্রোভাইডার।
ওয়ালেট ও রেট তখনও দরকার। Monero/Lightning সেবাকে পেমেন্ট রিকোয়েস্ট তৈরি করতে হবে।
API/MCP ত্রুটিতে থাকে error.details.payment_methods। SDK 2.4.0 নিরাপদ ব্যাখ্যা যোগ করে: PHP getPaymentMethodIssues(), Python payment_method_issues, Node paymentMethodIssues. ত্রুটি রেফারেন্স →
ক্রিপ্টো কোট ওপরের দিকে রাউন্ড হয় এবং স্টোরের স্প্রেড থাকে। প্রচলিত মুদ্রায় ইনভয়েস মানে প্রাপ্ত ক্রিপ্টো ব্যাংক ব্যালান্সে বদলে যাওয়া নয়।
শূন্য কনফার্মেশনে শনাক্ত হলেই সেটেল হয়, নেটওয়ার্ক কনফার্মেশনের সুরক্ষা ছাড়া। নেটিভ EVM পেমেন্ট সরাসরি ট্রান্সফার হিসেবে ধরা হয়। অস্বাভাবিক বা অনিশ্চিত পেমেন্ট দেখো মনোযোগ দরকার.
দেখো চেইন সংযোগ -এ সামঞ্জস্যপূর্ণ API, সম্পূর্ণ ইতিহাস ও স্বাধীন প্রোভাইডার দেখো। র নোডের পুরোনো তথ্য ধরতে সময় লাগে। সব রিসিভিং API →
পেমেন্ট, ব্যালান্স ও রক্ষণাবেক্ষণ একই প্রোভাইডার বাজেট ভাগ করে। কাজ না থাকলে পরীক্ষা কমে। পুরোনো ইনভয়েসে দেরির পেমেন্ট ও রিঅর্গ পর্যবেক্ষণ থাকে; পুরোনো তথ্য ধরা শেষ হলে ঘণ্টায় একবার পর্যন্ত হতে পারে। WSS সংকেত থাকলে HTTP স্ক্যানিংকে সহায়তা করে। চেকআউট বন্ধ করলেও শনাক্তকরণ থামে না। পাবলিক নোডে সীমা থাকেই; Wholly Crypto কোনো নোড চালায় না।
ডিফল্টভাবে বন্ধ। সক্রিয় করো স্টোর → ইনভয়েস → শূন্য পরিমাণের ইনভয়েস অনুমোদন হাতে বা API-তে শূন্য মোট দিতে। পেমেন্ট, রিসিভিং ঠিকানা, ট্রানজ্যাকশন বা প্রসেসিং ফি ছাড়াই এগুলো সঙ্গে সঙ্গে শেষ হয়।
স্টোর → চেকআউট: রং, লোগো, পদ্ধতি, লিংক, শুরু/শেষের লেখার ফন্টের আকার এবং প্রজেক্ট/স্টোরের নাম দেখানো। নতুন স্টোর ডিফল্ট স্টোরের ডিজাইন পায়। পরিবর্তন স্বয়ংক্রিয়ভাবে সেভ হয়।
প্রিভিউতে পেমেন্ট নেওয়া যায় না। কাস্টম HTML/CSS/JavaScript নেই।
IPN প্রতিটি ইনভয়েস ইভেন্ট পাঠায় স্টোরের URL বা ইনভয়েসের ipn_url-এ। ওয়েবহুক নির্বাচিত ইভেন্ট পাঠায়। দুটোই একই JSON স্ন্যাপশট POST করে।
কখন অর্ডার সম্পন্ন করব? ইভেন্টভিত্তিক প্রক্রিয়ায় ব্যবহার করো event_type = invoice.settled এর সঙ্গে status = settled। বর্তমান ইনভয়েস ও তোমার অর্ডার যাচাই করে একবারই অর্ডার সম্পন্ন করো। payment.received একা যথেষ্ট নয়।
status ইভেন্ট তৈরির সময়কার ইনভয়েসের অবস্থা; event_type কী ঘটেছে তা বলে।
payment.received + processing, তারপর invoice.settled + settled.payment.received এবং invoice.settled দুটোতেই থাকে settled.অন্য চেইনেও যেকোনো প্রক্রিয়া ঘটতে পারে। এগুলো আলাদা ইভেন্ট, অগত্যা দুটি পেমেন্ট নয়। একই থাকতে পারে sequence কিন্তু আলাদা থাকে event_id মান। কোনটি আগে পৌঁছাবে তার নিশ্চয়তা নেই; বাধ্যতামূলক কোরো না যে processing আগে আসবে।
| ইনভয়েসের স্ট্যাটাস | অর্থ |
|---|---|
new | পেমেন্টের অপেক্ষায় |
processing | আংশিক পেমেন্ট বা চূড়ান্ত হওয়ার অপেক্ষায় |
settled | ইনভয়েসের নিয়মে বা হাতে গ্রহণ করা হয়েছে |
expired | সময় পার হয়েছে; দেরির পেমেন্ট নজরদারি চলতে পারে |
invalid | পেমেন্ট পর্যালোচনা দরকার বা প্রত্যাখ্যাত |
cancelled | বাতিল, রিফান্ড নয় |
ইভেন্ট: invoice.created, payment.received, invoice.processing, invoice.settled, invoice.expired, invoice.invalid, invoice.cancelled. সম্পূর্ণ ইভেন্ট তালিকা ও ব্যতিক্রমের নিয়ম →
amount_status: none, partial, paid, overpaid. paid সহনসীমা ধরে, চূড়ান্ততা নয়। timing_status: on_time অথবা late. resolution: automatic, manually_settled অথবা manually_invalidated। তোমার ব্যতিক্রমের নীতি প্রয়োগ করো যখন requires_review true থাকে।
invoice_id API রেসপন্সের সঙ্গে মেলে। amount, currency এবং order_id তোমার মূল অর্ডার বর্ণনা করে। payment_info ট্রান্সফার, সঠিক ক্রিপ্টো পরিমাণ, স্থির কোট/স্প্রেড/সহনসীমা এবং তথ্যগত রেট যোগ করে। গ্রাহকের ডেটা ও মেটাডেটা ব্যক্তিগত।
paid_chain, paid_asset, paid_payment_method_id, paid_asset_amount, paid_asset_amount_received এবং settlement_exchange_rate সেটেলমেন্টের সারাংশ দেয়। এগুলো স্থির থাকে; প্রমাণ বা ইতিহাস না থাকলে null থাকে। পরের জমার জন্য ব্যবহার করো payment_info বা পেমেন্ট API.
দশমিক স্ট্রিং ব্যবহার করো। আলাদা অ্যাসেট একত্র কোরো না বা অনিশ্চিত টাকা অনুপস্থিত ধরে নিও না। ব্যতিক্রম স্পষ্টভাবে সামলাও; শুধু সতর্কতা অর্ডার সম্পন্ন বা রিফান্ডের অনুমতি দেয় না। যাচাই করা ভেতরের গ্যাস টপ-আপ গ্রাহকের পেমেন্ট নয় এবং এটি চালু করে না payment.received.
আলাদা সাইনিং সিক্রেট: স্টোর → IPN IPN ডেলিভারি সাইন করে, ইনভয়েসের কাস্টমটিও ipn_url। প্রতিটি এন্ডপয়েন্ট স্টোর → ওয়েবহুক -এ নিজের সিক্রেট পায়, তৈরি বা বদলানোর সময় দেখা যায়।
দুটোই ব্যবহার করে Wholly-Signature এবং একই SDK ভেরিফায়ার, কিন্তু মিল থাকা সিক্রেট লাগে, API কী নয়। IPN সিক্রেট বদলালে ওয়েবহুক সিক্রেট বদলায় না।
র বডি, টাইমস্ট্যাম্প ও প্রজেক্ট/স্টোরের সীমা যাচাই করো। স্থায়ীভাবে সেভ করে তারপর HTTP 2xx ফেরত দাও। একটি ওয়ার্কার তোমার নির্ধারিত API হোস্ট দিয়ে বর্তমান ইনভয়েস পরীক্ষা করে ডেটাবেস ট্রানজ্যাকশনে একবার অর্ডার সম্পন্ন করে। হেডার সাইন করা নয়; ভার্সন 2-এর স্বাক্ষরিত বডির পরিচয় ব্যবহার করো।
ইভেন্টভিত্তিক: স্বাক্ষরিত মান দিয়ে ডুপ্লিকেট বাদ দাও event_id, তারপর ফিল্টার করো invoice.settled. SDK স্টেটভিত্তিক: একত্র করো প্রজেক্ট + invoice_id + sequence, তারপর ইভেন্টের ধরন যাই হোক অবস্থা দেখো। এই একত্রীকরণের পরে ইভেন্ট ফিল্টার যোগ কোরো না। দুটোতেই অর্ডার পর্যায়ে আলাদা ডুপ্লিকেট সুরক্ষা দরকার।
পুনরায় চেষ্টায় মূল বডি ও event ID থাকে। পুরোনো রিভিশন যেন নতুনটিকে মুছে না দেয়। IPN সর্বোচ্চ আটবার চেষ্টা করে; ওয়েবহুকের পুনরায় চেষ্টা ঐচ্ছিক। কম ক্রেডিটে ডেলিভারি থামে, পেমেন্ট নয়।
স্টোর → IPN / ওয়েবহুক → ইতিহাস → বিস্তারিত সংরক্ষিত বডি ও ফল দেখায়। পেলোড ৯০ দিন পর মেয়াদ হারায়। আবার পাঠানো সেটেলমেন্টের প্রমাণ নয়।
সমর্থিত অ্যাসেট Kraken, Binance বা Coinbase-এ পাঠাও। কয়েন রাখো বা জমা হওয়া ডিপোজিট রূপান্তর করো। প্রচলিত মুদ্রা এক্সচেঞ্জেই থাকে।
ডিপোজিটের ন্যূনতম সীমা প্রতি ট্রানজ্যাকশনে, প্রতি সুইপে নয়। ন্যূনতমের নিচের ডিপোজিটে পরিকল্পনা থামে। ছোট ব্যালান্স আগে নিজের ওয়ালেটে একত্র করো; বাড়তি নেটওয়ার্ক ফি লাগবে।
মার্কেট প্রতি দুই মিনিটে আপডেট হয়। শুধু মিলে যাওয়া ও জমা হওয়া ডিপোজিট রূপান্তর হতে পারে; পুরোনো মার্কেট ডেটা নতুন অর্ডার থামায়। ফি/রাউন্ডিংয়ের জন্য উৎসের ১% এক্সচেঞ্জে রিজার্ভ থাকে, প্রসেসিং ক্রেডিট থেকে আলাদা।
ন্যূনতম পরিমাণ রাখো স্বয়ংক্রিয় সুইপের পরে প্রজেক্টজুড়ে কয়েন/টোকেন রাখে। শুরু করার সীমা থেকে আলাদা; শূন্যে কিছু রাখে না। ফি বাড়তি অংশ ব্যবহার করে। ম্যানুয়াল সেন্ড বদলায় না।
অনিশ্চিত ট্রান্সফার চালিয়ে যাও, বদলি তৈরি কোরো না। নিশ্চিত হওয়া বা অব্যবহৃত কোটের মেয়াদ শেষ হওয়া পর্যন্ত ওয়ালেট রিজার্ভ থাকে। বড় সুইপ ব্যাচে করতে হয়।
এক্সচেঞ্জের হেফাজত, KYC, আঞ্চলিক সীমা ও ফি প্রযোজ্য। ব্যাংক পেআউট বা লিভারেজ নেই। কম ক্রেডিটে নতুন রূপান্তর থামে; পাঠানো অর্ডারের হিসাব মেলানো চলতে থাকে।
ক্রেডিট শেষ হলেও পেমেন্ট পেতে থাকবে। বর্তমান স্টোরে ইনভয়েস, চেকআউট ও পেমেন্ট পর্যবেক্ষণ থাকে। যাচাই করা বিলিং সংযোগ না থাকা বা অ্যাকাউন্ট স্থগিত হওয়া আলাদা বিষয় এবং নতুন ইনভয়েস বন্ধ করতে পারে।
| যা চালু থাকে | ব্যবহারযোগ্য ক্রেডিট ছাড়া যা থামে |
|---|---|
| ইনভয়েস, চেকআউট ও কনফার্মেশন | IPN/ওয়েবহুক, পুনরায় চেষ্টাসহ |
| ওয়ালেট, ব্যালান্স ও ব্যাকআপ | সুইপ: সেন্ড, গ্যাস, রিফান্ড ও নতুন এক্সচেঞ্জ রূপান্তর |
| রিপোর্ট, পড়ার API ও বর্তমান সেটিংস | প্রজেক্ট ও স্টোর তৈরি |
| আপডেট চেক ও বাধাপ্রাপ্ত আপডেট পুনরুদ্ধার | নতুন ভার্সন ইনস্টল |
ক্রেডিট আইকন দিয়ে টপ-আপ করো। ব্যালান্স ফিরে আসা যাচাই হলে চালু অটোমেশন আবার চলে, টাকা পাঠানোর সুইপ নিয়মও। যেসব নিয়ম চালাতে চাও না সেগুলো বন্ধ করো।
খোলো অটো টপ-আপ রিকোয়েস্টের পরে। ব্যাকআপ রাখা রিসিভিং ওয়ালেট, সীমা, কেনার পরিমাণ, দৈনিক সীমা ও নেটওয়ার্ক ফি-র সর্বোচ্চ মান বেছে নাও। অনুমোদন দিয়ে সেভ করো। শুরুতে বন্ধ থাকে।
দেখানো হলে BTC, ETH বা Ethereum USDC/USDT ব্যবহার করো। টোকেন পাঠানোর ঠিকানায় ETH দরকার; এই নিয়ম ঘাটতি গ্যাস ভরে না। অপারেটর আলাদা রিসিভিং ওয়ালেট ব্যবহার করে; হোস্টেড মার্চেন্ট তার অপারেটরকে দেয়।
কম ক্রেডিটে সুইপ বন্ধ থাকলেও অনুমোদিত টপ-আপ চলতে পারে। শুধু গ্রহণকারী সেবাই ক্রেডিট নিশ্চিত করে। একবারে একটি স্বয়ংক্রিয় কেনা চলে। বন্ধ করলে না-পাঠানো কাজ থামে, জমা দেওয়া ট্রানজ্যাকশন নয়।
অটো টপ-আপে ব্যবহার করো পেমেন্ট পরীক্ষা। একই বৈধ পেমেন্ট চালিয়ে যাও, অথবা যাচাই করা ব্যর্থ Ethereum ট্রান্সফার বন্ধ করে নিয়ম থামাও। পেন্ডিং বা অনিশ্চিত পেমেন্ট আটকে থাকে যাতে দুবার না পাঠায়। কোটের মেয়াদ শেষ মানেই ব্যর্থতার প্রমাণ নয়।
ডিফল্ট ১% সেটেল হওয়া ইনভয়েসের মূল প্রচলিত-মুদ্রার মূল্য ব্যবহার করে। গ্রাহকের ক্রিপ্টো পেমেন্ট ভাগ হয় না।
ঋণাত্মক ব্যালান্স হলেও ফি জমতে থাকে। ঋণাত্মক পরিমাণ মিটিয়ে অ্যাকাউন্টের ছাড়সীমার ওপরে ব্যবহারযোগ্য ক্রেডিট আনো। সচল সংযোগে ব্যালান্সের পরিবর্তন সাধারণত ১০–১৫ সেকেন্ডে দেখা যায়।
অটোমেশনের ছাড় থাকলেও আপডেট ইনস্টল করতে শূন্যের বেশি যাচাই করা ক্রেডিট লাগে। টপ-আপ কখনো নিজে থেকে আপডেট ইনস্টল করে না।
স্থগিত নোটিফিকেশনে চেষ্টার সংখ্যা কমে না। সংরক্ষিত ডেলিভারি আবার শুরু হয়; স্বাভাবিক মেয়াদ প্রযোজ্য থাকে। বাদ পড়া ইভেন্ট ইনভয়েস API দিয়ে মিলিয়ে নাও।
অপারেটর প্রসেসিং ফি বন্ধ করলে নতুন প্রসেসিং ফি বা ক্রেডিটের বিধিনিষেধ থাকে না। আগের চার্জ ইতিহাসে থাকে। এখনও যুক্ত না হওয়া ইনস্টলেশনে প্রজেক্ট/স্টোর সেট করা যায়, কিন্তু ইনভয়েস দিতে যাচাই করা বিলিং দরকার। ইতিমধ্যে দেওয়া ইনভয়েস পর্যবেক্ষণে থাকে।
আয়ের চার্ট ও ফিল্টার ট্যাবের ওপরে থাকে: প্রজেক্ট ও স্টোর, ইনভয়েস, ওয়ালেট এবং সুইপ। নিচে খোঁজো। প্রজেক্ট ও স্টোরে CSV এক্সপোর্ট আছে। কাস্টম তারিখে সর্বোচ্চ ৩৬৬ দিন নেওয়া যায়। ওয়ালেট ক্যাশ করা ব্যালান্স ব্যবহার করে।
ইচ্ছামতো চালু করা, প্রজেক্ট-সীমিত অ্যাক্সেস এখানে api.example.com/mcp। পেমেন্ট পড়ো বা ইনভয়েস তৈরি অনুমোদন করো। MCP সেটআপ ও অনুমতি →
ইনভয়েস তৈরি, পেমেন্ট পরীক্ষা ও IPN/ওয়েবহুক যাচাই করতে আমাদের অফিশিয়াল SDK ব্যবহার করো।
Composer দিয়ে PHP অ্যাপে ক্রিপ্টো পেমেন্ট যোগ করো।
composer require whollycrypto/php-sdkবাড়তি রানটাইম ডিপেনডেন্সি ছাড়াই Python অ্যাপ বা ব্যাকএন্ড যুক্ত করো।
python -m pip install whollycryptoJavaScript বা TypeScript, বিল্ট-ইন টাইপসহ একটি npm প্যাকেজ।
npm install whollycryptoXcode-এ main ব্রাঞ্চ যোগ করো। Swift সেটআপ ও অ্যাপের নিরাপত্তা →
https://github.com/whollycrypto-com/whollycrypto-swift-sdk.gitতোমার ইনস্টলেশনের API ডোমেইন ব্যবহার করো ও API কী সার্ভারেই রাখো। সব SDK MIT লাইসেন্সে।
প্রজেক্ট → পেমেন্ট টুল খোলো ও স্টোর বেছে নাও। পুনর্ব্যবহারযোগ্য পেমেন্ট লিংক শেয়ার করো, বিক্রয়কেন্দ্রে পেমেন্ট নাও বা ইমেইলে নির্ধারিত পেমেন্ট অনুরোধ পাঠাও।
স্টোরের ডিজাইন, কনফার্মেশন ও কলব্যাক তখনও প্রযোজ্য। টুল থামালে নতুন অনুরোধ থামে, বর্তমান পেমেন্ট নয়। ইতিহাসে প্রতিটি ইনভয়েসের লিংক থাকে। বাদ যাওয়া সময়ের জন্য একসঙ্গে অনেক ইমেইল যায় না; আবার পাঠালে একই অপরিশোধিত, মেয়াদ না-ফুরানো ইনভয়েস ব্যবহার হয়।
গ্রাহকের চেকআউট, পেমেন্ট লিংক ও নির্ধারিত ইমেইলে ইংরেজি, জার্মান, স্প্যানিশ, ব্রাজিলীয় পর্তুগিজ, ইতালীয়, রুশ, সরলীকৃত চীনা, ফরাসি, কোরীয় ও জাপানি আছে।
স্টোর → ইনভয়েস → চেকআউটের ভাষা ডিফল্ট ঠিক করে। প্রতিটি ইনভয়েস বা পেমেন্ট টুলে বদলানো যায়। ইমেইল ও পুনরায় পাঠানোতে ইনভয়েসের ভাষা থাকে। তোমার লেখা বদলায় না; মার্চেন্ট ও অপারেটর কনসোল ইংরেজিতেই থাকে।
সেটিংস → সিস্টেমে উৎস IP সীমার নিচে প্রোভাইডারের পাবলিক হোস্টনেম, লগইন, প্রেরক ও ঐচ্ছিক reply-to দিয়ে SMTP চালু করো। 465 পোর্টে TLS বা 587-এ STARTTLS ব্যবহার করো।
সেভ করো, সংযোগ পরীক্ষা করো, তারপর নিজেকে পরীক্ষার ইমেইল পাঠাও। প্রোভাইডারে SPF/DKIM সেট করো। SMTP গ্রহণ করলেই ইনবক্সে পৌঁছানো নিশ্চিত নয়।
নির্ধারিত অনুরোধ সিস্টেম SMTP ব্যবহার করে। নোটিফিকেশন চ্যানেলেও এটি বেছে নেওয়া যায়; পুরোনো চ্যানেল ও অপারেটর আমন্ত্রণের সেটিংস বদলায় না। শুধু ইনস্টলেশন অ্যাডমিন এই এনক্রিপ্টেড তথ্য পরিচালনা করে। ইমেইল জমা দিতে ব্যর্থ হলে স্পষ্টভাবে আবার পাঠাতে হয়।
ঘণ্টা আইকনে নোটিফিকেশন ইনবক্স খোলে। থিমের পছন্দ সেটিংস মেনুতে আছে।
একই সমস্যা বারবার হলে একত্র করা হয়। ইতিহাস ৩০ দিন থাকে; প্রজেক্টের অনুমতি তখনও প্রযোজ্য। অ্যালার্ট পড়লেই সমস্যা মেটে না। মানুষের জন্য অ্যালার্ট স্টোরের IPN বা ওয়েবহুকের বিকল্প নয়।
প্রজেক্ট → মার্কেটপ্লেস চালু করো, স্টোর বেছে নাও এবং স্বাধীনভাবে যাচাই করা গন্তব্যসহ বিক্রেতা নিবন্ধন করো। সঠিক বিক্রেতা ভাগ দিয়ে একটি ইনভয়েস বানাও; হাতে পেআউট অনুমোদন করো বা সীমা দেওয়া স্বয়ংক্রিয় নীতি রাখো।
শুধু Bitcoin mainnet ও সমর্থিত EVM কয়েন/ERC-20। গ্রাহক প্রথমে প্রজেক্টের নিয়ন্ত্রিত ওয়ালেটে দেয়, সরাসরি বিক্রেতাকে নয়। ফি-র জন্য আলাদা অবাধ নেটিভ কয়েন রেখো। সাধারণ সুইপ সুরক্ষিত রিসিভিং ঠিকানা বাদ দেয়।
প্রসেসিং ফি মূল ইনভয়েসে একবারই লাগে, তোমার কমিশন থেকে আলাদা। কম ও অনিশ্চিত পেমেন্ট পর্যালোচনা করতে হয়। বিক্রেতাকে দেওয়ার পরে রিফান্ডে আলাদা টাকা দরকার, স্বয়ংক্রিয় ফেরত কাটা হয় না।
একাধিক বিক্রেতার পেমেন্ট সেট করো · মার্কেটপ্লেস API রেফারেন্স
রিপোর্ট, ট্রানজ্যাকশন, এক্সপোর্ট ও চেকের জন্য সেটিংস → হিসাবরক্ষণ খোলো। ড্যাশবোর্ড আলাদা থাকে।
নিশ্চিত প্রাপ্তি, রিফান্ড ও রেকর্ড করা খরচ ওয়ালেট ট্রান্সফার ও প্রিপেইড ক্রেডিট কেনা থেকে আলাদা। একাধিক পেমেন্ট হলেও ইনভয়েসের মোট একবারই গণনা হয়।
ঐতিহাসিক মূল্য সংরক্ষিত প্রমাণ ব্যবহার করে, আজকের দাম নয়। পুরোনো রেট ও প্রকৃত ফি নাও থাকতে পারে; অনুপস্থিত খরচ কখনো শূন্য ধরা হয় না। অসম্পূর্ণ প্রমাণে নিট মোট পাওয়া যায় না।
এতে Wholly Crypto-র ট্র্যাক করা রেকর্ড আছে, প্রতিটি বাইরের ওয়ালেট বা এক্সচেঞ্জ ট্রানজ্যাকশন নয়। এটি হিসাব রাখার সহায়ক, ট্যাক্স রিটার্ন বা লাভের বিবরণী নয়। এক্সপোর্ট নিরাপদে শেয়ার করো: গ্রাহকের ইমেইল থাকতে পারে।
প্রাপ্ত টাকা পছন্দের গন্তব্যে পাঠাও। নিয়ম ও ইতিহাস পরিচালনা করো প্রজেক্ট → সুইপ.
নেটিভ কয়েন পাঠাও ২৯টি চেইনে; Monero শুধু দেখার জন্য থাকে। টোকেন: যাচাই করা ERC-20 ও ক্লাসিক SPL। ম্যানুয়াল সেন্ড ও স্বয়ংক্রিয় সুইপ একই সুরক্ষা ব্যবহার করে।
BTC, EVM, SOL ও TRX-এর সঙ্গে আরও ১৮টি নেটিভ অ্যাডাপ্টার আছে। ট্রানজ্যাকশন জমা দিতে পারে এমন প্রোভাইডার ব্যবহার করো। ZEC শুধু ট্রান্সপারেন্ট; ADA টোকেনযুক্ত আউটপুট রাখে; DOT Asset Hub ব্যবহার করে; HBAR-এর রিলে লাগে। বহির্গামী memo/tag/comment লাগে এমন গন্তব্যে বাইরের ওয়ালেট দরকার।
অনুমোদনের পর গ্যাস ফান্ডিং, কনফার্মেশন ও টোকেন পাঠানো পেছনে চলতে থাকে। দেখো ট্রান্সফার কার্যক্রম, উইন্ডো বন্ধ করার পরও। ব্রডকাস্ট মানে কনফার্মেশন নয়।
প্রজেক্ট ওয়ালেটে ETH রাখো: 0 বাড়তি রিজার্ভ রাখে না; সব ETH খরচ করে না। 0.005 পরে ব্যবহারের জন্য অন্তত 0.005 ETH রাখে, তাই এই কাজের জন্য অতিরিক্ত টাকা দরকার। সংরক্ষিত স্বয়ংক্রিয় নিয়ম বদলায় না।
দৈনিক সীমা গত ২৪ ঘণ্টায় প্রতিটি টোকেন নিয়মের বরাদ্দ নেটিভ গ্যাস সীমিত করে। হালকা ব্যবহারে €1 শুরুর সীমা হতে পারে, নিশ্চিত খরচ বা দৈনিক চার্জ নয়। ফান্ডিং ট্রানজ্যাকশনেও ফি লাগে। সর্বোচ্চ নেটওয়ার্ক ফি % একত্রে ফান্ডিং ও ট্রান্সফারের ফি সীমিত করতে পারে।
পরীক্ষা স্বয়ংক্রিয়ভাবে চলে। শুধু উপযুক্ত টোকেন থাকা ঠিকানায় গ্যাস যায়; খালি ঠিকানায় নয়। কম গ্যাসসহ সুইপের ন্যূনতমের নিচে থাকা ঠিকানা অপেক্ষা করে। গ্যাস সীমার ব্যাখ্যা →
পাঠানো বন্ধ? দেখো whollycrypto transfers status। প্রতিটি সক্রিয় নিয়ম পর্যালোচনা করো এর আগে whollycrypto transfers enable: এটি পুরো সার্ভারে প্রযোজ্য এবং সংরক্ষিত নিয়ম সঙ্গে সঙ্গে চালাতে পারে। পরের ধাপ থামালেও ব্রডকাস্ট ফেরানো যায় না।
সেটিংস → সিস্টেম: বেছে নাও পরিচালনা অথবা ডোমেইন যোগ করো। সেভ করো, DNS দেখো, প্রকাশ করো। বদলায়নি এমন হোস্টে DNS/SSL পরীক্ষা বাদ যায়।
স্টোর → মৌলিক: সক্রিয় merchant/pay/API হোস্ট বেছে নাও। লিংকে অগ্রাধিকার স্টোর → ডিফল্ট স্টোর → সিস্টেম; সরানো নামে বিকল্প চলে। SDK হোস্ট আলাদাভাবে ঠিক করো। স্বাক্ষরিত পুনরায় চেষ্টায় মূল লিংক থাকে।
HTTPS স্বয়ংক্রিয়। সেটআপের পরে Cloudflare চালু বা বন্ধ করতে পারো; Let's Encrypt চালু থাকে।
/.well-known/acme-challenge/ 80 পোর্টে, নবায়নের জন্য রিডাইরেক্ট বা চ্যালেঞ্জ ছাড়া।পরীক্ষা authoritative DNS-এ প্রশ্ন করে এবং origin যাচাই করে: সরাসরি বা Cloudflare। দর্শকের কাছে পুরোনো DNS ক্যাশ থাকতে পারে।
5.6.2 থেকে কনসোলে সেভ/ডিলিট POST ব্যবহার করে; “Not GET or POST” ছাড় লাগবে না। লগইন ও CSRF সক্রিয় থাকে। এখানে api.*, পাবলিক API-র ডকুমেন্টেড মেথড অনুমোদন করো।
2FA সেট করো এখানে সেটিংস → অ্যাকাউন্ট। শুধু প্রজেক্ট অ্যাক্সেস থাকা ব্যবহারকারী ব্যবহার করে আমার নিরাপত্তা ফুটারে। পাসওয়ার্ড নিশ্চিত করো, TOTP QR/কী স্ক্যান করো ও ছয় অঙ্কের কোড দাও।
চেষ্টা করো Verifyr Authenticator ব্যবহার করতে iOS অথবা Android-এ, অথবা অন্য স্ট্যান্ডার্ড TOTP অ্যাপ। একবার ব্যবহারযোগ্য রিকভারি কোড পাসওয়ার্ড থেকে আলাদা রাখো। HTTP Basic সুরক্ষা চালু রেখো।
কোড বদলাতে বা 2FA বন্ধ করতে পাসওয়ার্ড এবং অথেন্টিকেটর বা অব্যবহৃত রিকভারি কোড লাগে। অন্য সেশন লগআউট হয়। ফোন ও সার্ভারের ঘড়ি মিলিয়ে রাখো; 2FA হ্যাক হওয়া সার্ভার সুরক্ষিত করে না।
থিম আইকন ঘুরিয়ে বদলায় হালকা → মৃদু → অন্ধকার এবং এই ব্রাউজারের পছন্দ মনে রাখে। স্টোর চেকআউটের থিম আলাদা।
merchant.* অথবা api.* হোস্টনেমে বিশ্বস্ত IP/রেঞ্জ দাও। বর্তমান কনসোল IP অনুমোদিত থাকতে হবে।pay.* : গ্রাহককে যেকোনো জায়গা থেকে পেমেন্ট করতে হয়।চাইলে Cloudflare অ্যাক্সেস নিয়ম যোগ করো। HTTPS নবায়নের চ্যালেঞ্জ বাদ দাও; API ও চেকআউটে ইন্টারঅ্যাকটিভ লগইন চ্যালেঞ্জ এড়াও। শুধু প্রক্সি মোড IP সীমা নয়।
লক আউট হয়েছ? চালাও whollycrypto access-reset --domain merchant.example.com SSH দিয়ে। শুধু সেই হোস্টনেম পাঁচ সেকেন্ডের মধ্যে আবার খোলে; অ্যাকাউন্ট অথেন্টিকেশন চালু থাকে।
whollycrypto ssl
whollycrypto ssl --fixপ্রথম কমান্ড সক্রিয় সার্টিফিকেট পরীক্ষা করে। --fix TLS সহায়ক ফাইল মেরামত করে ও হারানো বা মেয়াদ ফুরোতে থাকা সার্টিফিকেট নবায়ন করে। Nginx চালু থাকতে হবে; 80/443 পোর্ট খোলা রেখো।
চালাও whollycrypto ssl --domain merchant.example.com --reissue জোর করে বদলাতে। ইস্যুর সীমা প্রযোজ্য। Cloudflare HTTP চ্যালেঞ্জ আটকালে সাময়িক DNS-only করো। ওয়ালেট, অথেন্টিকেশন ও ডোমেইন বদলায় না।
সিদ্ধান্তের কারণ দিতে হয়। রিফান্ডে আলাদা নিশ্চিত ট্রান্সফার দরকার; ইনভয়েসের স্ট্যাটাস বদলালে কখনো টাকা যায় না।
পড়ো রিলিজ নোট, তারপর ব্যবহার করো সেটিংস → সিস্টেম → সফটওয়্যার আপডেট বা CLI। আপডেট স্বাক্ষর যাচাই করে, ব্যাকআপ বানায় ও স্বাস্থ্য পরীক্ষা করে। ইনস্টল করার সময় চেকআউট থামে।
whollycrypto update --check
whollycrypto updateআপডেট ব্যাকগ্রাউন্ড কাজের জন্য সর্বোচ্চ দুই মিনিট অপেক্ষা করে; চেকআউট অনলাইন থাকে। সময় শেষ হলে টাইমার ফিরিয়ে দেয়।
পুরোনো আপডেটার আটকে আছে? এটি একবার চালাও। ইনস্টল করা কী হেল্পার যাচাই করবে।
bash <(curl -fsSL https://releases.whollycrypto.com/update_wholly.sh)পরীক্ষিত রাখো সার্ভারের বাইরে ব্যাকআপ PostgreSQL, কনফিগারেশন, ওয়ালেট এনক্রিপশন কী ও ওয়ালেট এক্সপোর্টের। স্থানীয় রিকভারি আর্কাইভ এনক্রিপ্টেড নয়।
মিল থাকা ডেটাবেস ও কনফিগারেশন ব্যাকআপ একসঙ্গে ফিরিয়ে আনো। মাইগ্রেশন থামিও না বা নতুন ডেটাবেসে পুরোনো বাইনারি চালিও না। ক্রেডিটের নিয়ম তখনও প্রযোজ্য।
সেটআপ ও আপডেট স্বয়ংক্রিয়ভাবে চেষ্টা করে অফিশিয়াল GitHub মিরর। স্বাক্ষর, চেকসাম ও ক্রেডিট পরীক্ষা তখনও বাধ্যতামূলক।
SSH দিয়ে root কমান্ড।
whollycrypto status
whollycrypto doctor
whollycrypto backup| কমান্ড | কাজ |
|---|---|
whollycrypto version | ইনস্টল করা ভার্সন। |
whollycrypto status | অ্যাপ ও ডেটাবেসের স্বাস্থ্য। |
whollycrypto logs | অ্যাপ লগের শেষ ৮০ লাইন। |
whollycrypto restart | রিস্টার্ট ও স্বাস্থ্য পরীক্ষা। |
whollycrypto doctor | শুধু পড়ার ইনস্টলেশন পরীক্ষা। |
whollycrypto doctor --fix | পরিচালিত পারমিশন ও অনুপস্থিত CLI লিংক মেরামত। |
whollycrypto htaccess | Basic Auth লগইন রিসেট। |
whollycrypto admin-reset | অ্যাডমিন পাসওয়ার্ড রিসেট। |
whollycrypto 2fa-reset | পাসওয়ার্ড না বদলে একটি অ্যাকাউন্টের অথেন্টিকেটর রিসেট। |
whollycrypto transfers statuswhollycrypto transfers enablewhollycrypto transfers disable | সব প্রজেক্টে পাঠানো পরীক্ষা, চালু বা থামাও। চালু করলে অ্যাপ রিস্টার্ট হয় ও সংরক্ষিত নিয়ম সঙ্গে সঙ্গে চলতে পারে; নিশ্চিত করতে হয়। আপডেট স্থগিত অবস্থা রাখে। |
whollycrypto ssl | HTTPS পরীক্ষা; যোগ করো --fix মেরামত করতে। |
whollycrypto access-reset --domain HOST | একটি হোস্টনেমের IP সীমা সরাও। |
whollycrypto update --check | স্বাক্ষরিত আপডেট খোঁজো। |
whollycrypto update | ব্যাকআপ, আপডেট ও রিস্টার্ট। |
whollycrypto backup | শুধু root-এর আর্কাইভ এখানে /root/whollycrypto/backups/releases/. |
whollycrypto recover | বাধাপ্রাপ্ত রক্ষণাবেক্ষণ বা স্কিমা না-বদলানো আপডেট পুনরুদ্ধার। ডেটাবেস নিজে থেকে কখনো ফিরিয়ে আনে না। |
whollycrypto reset | একটি প্রজেক্ট, সব ব্যবসার প্রজেক্ট বা শুধু মেরামত বেছে নাও। |
whollycrypto uninstall --checkwhollycrypto uninstall | প্রিভিউ দেখো, তারপর নেটিভ রানটাইম সরাও। ডেটাবেস, কী ও ব্যাকআপ থাকে। |
whollycrypto welcome | কনসোল URL ও লিংক। |
whollycrypto --help | কমান্ড; যোগ করো --help একটির পরে তার অপশন দেখতে। |
পরীক্ষা শুধু পড়ে; মনোযোগ দরকার হলে নন-জিরো এক্সিট দেয়। --fix শুধু পরিচালিত পারমিশন ও হারানো CLI লিংক ঠিক করে। বিলিং বদলায় না, ডেটা মোছে না বা সার্ভিস রিস্টার্ট করে না।
whollycrypto reset
# Preview without changing anything:
whollycrypto reset --scope business --check
whollycrypto reset --scope project --project YOUR_PROJECT_IDENTIFIER --checkএকটি প্রজেক্ট, সব ব্যবসার প্রজেক্ট বা শুধু মেরামত বেছে নাও। প্রজেক্ট রিসেট নির্বাচিত প্রজেক্ট, স্টোর, ওয়ালেট রেকর্ড ও পেমেন্ট ইতিহাস স্থায়ীভাবে মুছে দেয়। শুধু মেরামত পরিচালিত পারমিশন ও CLI লিংক পরীক্ষা ও ঠিক করে।
আগে নির্বাচিত প্রজেক্ট বন্ধ করো, খোলা পেমেন্ট/ট্রান্সফার মেটাও ও জানা ওয়ালেট ব্যালান্স সরাও। অ্যাকাউন্ট, ডোমেইন, নোড, ক্রেডিট, বিলিং পরিচয় ও ইনস্টলেশন মোড থাকে। অপারেটরের রিসিভিং ওয়ালেট ও হোস্টেড ক্রেডিট রেকর্ড সুরক্ষিত। এতে সেটআপ উইজার্ড আবার খোলে না।
ডেটা মোছার রিসেটে লিখে নিশ্চিত করতে হয় এবং মোছার আগে যাচাই করা রিকভারি ব্যাকআপ হয়। ওয়ালেটের অফ-সার্ভার ব্যাকআপও রেখো: পুরোনো ঠিকানায় টাকা আসতে পারে, কিন্তু মুছে ফেলা প্রজেক্ট তা ট্র্যাক করবে না। ক্যাশ করা ব্যালান্স দিয়ে ওয়ালেট খালি প্রমাণ হয় না।
whollycrypto uninstall --check
whollycrypto uninstallচেকআউট, API ও ওয়ার্কার থামায়; ব্যাকআপ ও লিখিত নিশ্চিতকরণের পরে রানটাইম ফাইল ও পরিচালিত সার্ভার ইন্টিগ্রেশন সরায়। পেন্ডিং পেমেন্ট বা ট্রান্সফার থাকলে সরানো বন্ধ হয়। ফাইল মুছে না দিয়ে রিকভারি ব্যাকআপে নেওয়া হয়।
ডেটাবেস, কনফিগারেশন, কী ও ব্যাকআপ থাকে। যৌথ Nginx/PostgreSQL প্যাকেজ ও TLS সার্টিফিকেট ছোঁয়া হয় না। কমান্ড অফলাইন রিকভারি কমান্ড দেখায়; রাখা ডেটার ওপর নতুন সেটআপ চালিও না।
রিসেট/সরানোর কমান্ড নেটিভ VPS-এর জন্য, Docker বা Umbrel নয়। কন্টেইনারে ইন্টিগ্রেশনের ব্যাকআপ ও স্টপ কমান্ড ব্যবহার করো; ভলিউম রেখো। ডেটা-মোছার কোনো কমান্ডই গ্রহণ করে না --yes.
whollycrypto htaccessব্যবহারকারী বেছে নাম/পাসওয়ার্ড দাও ও নিশ্চিত করো। এটি ব্রাউজারের প্রথম লগইন প্রম্পট রিসেট করে, কনসোল অ্যাকাউন্ট নয়। অন্য ব্যবহারকারী ও API তথ্য বদলায় না।
whollycrypto admin-resetইমেইল দিয়ে অ্যাডমিন বেছে নতুন পাসওয়ার্ড নিশ্চিত করো। সেশন ও অ্যাকাউন্ট লগইন লক সরানো হয়; IP সীমা থাকে।
স্বাভাবিক রিসেটে 2FA থাকে। অথেন্টিকেটর ও রিকভারি কোড দুটোই হারালে স্পষ্টভাবে চালাও whollycrypto admin-reset --email admin@example.com --reset-2fa। লগইনের পরে আবার 2FA সেট করো।
ডেটাবেস লাগে, অ্যাপ বা পুরোনো পাসওয়ার্ড নয়। অন্য অ্যাকাউন্ট, ওয়ালেট ও অনুমতি বদলায় না; বন্ধ অ্যাকাউন্ট বন্ধ থাকে।
অথেন্টিকেটর ও রিকভারি কোড দুটোই হারিয়েছ? root হিসেবে অ্যাকাউন্ট বেছে নাও।
whollycrypto 2fa-reset
# Or select the account directly:
whollycrypto 2fa-reset --email user@example.comসেশন, অথেন্টিকেটর ও রিকভারি কোড সরায়। বর্তমান পাসওয়ার্ডে ঢুকে আবার 2FA সেট করো। অনুমতি, ওয়ালেট ও Basic Auth বদলায় না; বন্ধ অ্যাকাউন্ট বন্ধ থাকে।
ডেটাবেস লাগে, অ্যাপ বা ক্রেডিট নয়। ইন্টারঅ্যাকশন ছাড়া: --email এবং --yes.
Enter চাপলে পাসওয়ার্ড তৈরি হয় এখানে /root/whollycrypto/config/credential-resets/: ব্যক্তিগত, এনক্রিপ্টেড নয়, সফল হলে ব্যবহারযোগ্য। হাতে দেওয়া পাসওয়ার্ড সংরক্ষণ হয় না।
whollycrypto htaccess --user admin --new-user operator
whollycrypto admin-reset --email admin@example.comটার্মিনাল ছাড়া বর্তমান অ্যাকাউন্টের সঙ্গে দাও --generate অথবা --password-file /root/private-password.txt, এবং --yes। পাসওয়ার্ড ফাইল root-এর মালিকানায়, মোড হতে হবে 600। কমান্ড বা এনভায়রনমেন্ট ভেরিয়েবলে পাসওয়ার্ড দিও না।
--yes শুধু নিশ্চিতকরণ বাদ দেয়। আগে বাধাপ্রাপ্ত আপডেট রিকভারি শেষ করো; একই সময়ে অ্যাকাউন্ট বদলালে রিসেট থামে।