SBUT PAY Wallet
SBUT PAY SETUP
SBUT PAY SETUP

সংযোগ ও SQL

প্রথমে অবস্থা দেখুন। তারপর প্রয়োজনীয় SQL কপি করুন।

Supabase connection

Project: arsdjkylupklayojckbi

অবস্থা যাচাই করতে নিচের বাটন চাপুন।
নতুন database: SQL 001 একবার চালান। এতে latest update আছে; পরে 002 লাগবে না।
TXT ডাউনলোড
লোড হচ্ছে…

iPhone দিয়ে চালু করার ধাপ

  1. Supabase Dashboard-এ সঠিক project খুলুন। SQL Editor-এ নতুন query খুলে SQL পেস্ট করে Run চাপুন।
  2. Authentication / Sign In / Providers থেকে Phone চালু করুন এবং আপনার SMS provider-এর server credentials যুক্ত করুন। OTP পাঠানো ও যাচাই করা পরীক্ষা করুন।
  3. PIN login-এর জন্য minimum password length 6 প্রয়োজন। Login rate limits ও CAPTCHA/abuse protection আলাদাভাবে configure করুন। ফোন ও transaction PIN কখনো console log করবেন না।
  4. SQL চালানোর পরে উপরে সংযোগ পরীক্ষা করুন। Wallet schema প্রস্তুত এবং Phone OTP চালু—দুটিই দেখা প্রয়োজন।
  5. দুটি verified test account দিয়ে ছোট অঙ্কে send ও receive পরীক্ষা করুন। ব্যালেন্স, fee, transaction ID এবং দুই ডিভাইসের history মিলিয়ে নিন।

Cloudflare Direct Upload

এই নতুন SBUT_PAY_MASTER.zip-এর root-এ index.html ও assets আছে। ZIP-টি সরাসরি Workers & Pages / Pages / Direct Upload-এ দিন। আর আলাদা folder compress করতে হবে না। পুরোনো deployment-এর ফাইলের সঙ্গে মেশাবেন না।

লগ নীতি

Debug ও analytics logging নেই। PIN, OTP, NID, ছবি বা session token log হয় না। Client-এ শুধু গুরুতর ত্রুটির code ও সময় সাময়িক memory-তে থাকে, সর্বোচ্চ ১০টি; server-এ পাঠায় না। লেনদেনের ledger বজায় থাকবে। Supabase/Cloudflare নিজস্ব infrastructure log এখানে থেকে বন্ধ করা হয় না।

যেগুলো এখনো যুক্ত করা হয়নি

রিচার্জ provider, স্বয়ংক্রিয় NID/OCR ও liveness যাচাই, FCM/push, biometric login এবং bank cash-out যুক্ত নয়। কোনোটি সফল হয়েছে বলে দেখানো বা ভুয়া ব্যালেন্স তৈরি করা হবে না।

Admin-এর জন্য

প্রথমে কাগজপত্র এবং প্রাপ্ত টাকা মিলিয়ে নিন। শুধু trusted SQL Editor থেকে সঠিক UUID দিয়ে চালাবেন।

-- KYC অনুমোদন:
select wallet_private.approve_kyc('USER_UUID');
-- মার্চেন্ট আবেদন অনুমোদন:
begin;
update public.sbut_merchant_applications set status='approved' where user_id='USER_UUID';
update public.sbut_users set role='merchant' where id='USER_UUID' and kyc='approved';
commit;
-- মার্চেন্টের প্রকৃত deposit পাওয়া নিশ্চিত হওয়ার পর (amount paisa):
select wallet_private.fund_merchant('MERCHANT_UUID',1000000,'UNIQUE_REFERENCE_UUID');

বোনাস ও কমিশনের জন্য আগে যথাযথ তহবিল প্রয়োজন। অর্থের reconciliation ছাড়া ledger balance পরিবর্তন করবেন না।