WELIFE Docs Swagger Admin Web

OWNER e2e Pay — refresh 2026-08-14

Domain: D-PAY · WP: WP-OWNER-WIRE-01 (Pay slice) · WP-PAY-LIVE-01 Surfaces: API · VPS api.minhtien.cloud Agent: mint short-lived JWT in welife-api (no secret / full payUrl printed)

Kết quả (VPS)

Step Result
GET /payments/providers status=ready · preferred=VNPAY · mock disabled · momo+vnpay configured · wallet credit disabled
GET /users/me 200 (seed user)
POST /payments/init { amount:10000, provider:VNPAY } 201 · PENDING · payUrlHost=sandbox.vnpayment.vn · vnp_SecureHash present
POST /payments/init { amount:10000 } (omit provider) 201 · default VNPAY · same sandbox host
POST /payments/init { provider:MOMO } 400 · "Cấu hình doanh nghiệp không chính xác hoặc tài khoản không hoạt động."

Khớp OWNER-PAY-E2E-2026-08-12.

Re-smoke 2026-08-14 (AM): VNPay create vẫn PASS · MoMo vẫn FAIL merchant.

Kết luận

Gateway Create sandbox IPN / return / ví
VNPay PASS (2026-08-14) OWNER mở payUrl → thanh toán test → xác nhận ví + return
MoMo FAIL (merchant) DEFERRED đến khi portal MoMo OK

OWNER — 1 bước thủ công (bắt buộc để đóng e2e)

  1. App CON trỏ prod API (EXPO_PUBLIC_API_URL=https://api.minhtien.cloud/api/v1 hoặc APK EAS) — không localhost (MOCK/local).
  2. Đăng nhập → Tài khoản / Ví → Nạp tiền.
  3. Banner phải hiện «Nạp qua VNPay sandbox» · chọn số nhỏ (vd 50.000) → Xác nhận.
  4. Browser mở sandbox.vnpayment.vn → chọn NCB → thẻ test thành công:
    • Số thẻ 9704198526191432198
    • Tên NGUYEN VAN A
    • Phát hành 07/15
    • OTP 123456
  5. Return welife://payment/result / HTML return → app PaymentResult / Ví · số dư tăng đúng số đã nạp.

Tuỳ chọn: sửa MoMo merchant sandbox → nhắn agent smoke lại provider=MOMO.

Không commit .env / hash secret / payUrl đầy đủ.

Agent re-smoke

# từ máy có SSH key VPS
scp scripts/smoke-pay-vps.sh root@180.93.146.58:/tmp/smoke-pay-vps.sh
ssh root@180.93.146.58 'bash /tmp/smoke-pay-vps.sh; rm -f /tmp/smoke-pay-vps.sh'