WELIFE Docs Swagger Admin Web

# OWNER wire checklist — WP-OWNER-WIRE-01

Agent không bịa secret. Paste credential vào file gitignored, rồi bảo agent «wire OWNER».

Paste vào đâu

Gate File (gitignore) Keys
Firebase Web App ID mobile/.env.local EXPO_PUBLIC_FIREBASE_WEB_APP_ID=1:…:web:… (và giữ Android id trong google-services.json)
Firebase Admin SA (optional) api/.env FIREBASE_PROJECT_ID · FIREBASE_CLIENT_EMAIL · FIREBASE_PRIVATE_KEY
SMS eSMS api/.env (+ VPS /opt/welife/api/.env) SMS_PROVIDER=esms · ESMS_API_KEY · ESMS_SECRET_KEY · ESMS_BRAND_NAME
SMS Twilio same SMS_PROVIDER=twilio · TWILIO_ACCOUNT_SID · TWILIO_AUTH_TOKEN · TWILIO_FROM_NUMBER
MoMo sandbox api/.env (+ VPS) PAYMENTS_MOCK=false · MOMO_PARTNER_CODE · MOMO_ACCESS_KEY · MOMO_SECRET_KEY · MOMO_IPN_URL · MOMO_RETURN_URL · MOMO_ENV=sandbox
Google Maps geocode api/.env (+ VPS) GOOGLE_MAPS_API_KEY · enable Places API (New) + Geocoding API · billing · restriction IP/None (không Android-only) · npm run routing:google:smoke

Chi tiết: OWNER-GATES.md · OWNER-FIREBASE-HYBRID.md

Sau khi OWNER paste

  1. npm run env:check (local) — không in secret
  2. Restart API (npm run api:dev hoặc VPS recreate)
  3. Smoke:
    • Firebase: login web/Expo → POST /auth/firebase
    • SMS: POST /auth/otp/send với phone → smsProvider ≠ console
    • MoMo: create payment sandbox → IPN HTTPS
  4. Agent cập nhật status trong OWNER-GATES.md

Status (2026-08-14)

Gate Agent readiness Blocker / OWNER action
Firebase Web App ID WIRED (:web: trong mobile/.env.local) Restart Expo · smoke login web
Firebase Auth/Hosting deploy Script firebase-owner-setup.mjs OWNER: firebase login rồi chạy script
Firebase Admin SA Bridge off (EXPO_PUBLIC_FIREBASE_BRIDGE=0) Optional: paste SA vào api/.env
Email OTP (Gmail SMTP) WIRED PROD OWNER mở inbox xác nhận OTP thật
SMS (eSMS) KEYS ON VPS · smsLive=true · re-smoke 2026-08-19 OWNER: nhận SMS brand WELIFE · hoặc blast ok + SĐT (agent không tự blast)
VNPay sandbox CREATE PASS (re-smoke 2026-08-17) OWNER: mở payUrl → thanh toán test → ví · report
MoMo sandbox CREATE FAIL (merchant inactive) OWNER: portal · report
EAS preview APK DONE CON+DRV+PAR OWNER: cài APK · EAS-BUILD
MOMO_ENV SET sandbox —

Hub: STATUS.md · OWNER-GATES.md

Report Pay: reports/OWNER-PAY-E2E-2026-08-14.md · prior 2026-08-12

Agent stop-gate: không gửi OTP/SMS thật và không hoàn tất thanh toán live trừ khi OWNER mở payUrl thủ công.

Không commit .env / SA JSON / payment keys.