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.cloudAgent: mint short-lived JWT inwelife-api(no secret / fullpayUrlprinted)
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)
- App CON trỏ prod API (
EXPO_PUBLIC_API_URL=https://api.minhtien.cloud/api/v1hoặc APK EAS) — khônglocalhost(MOCK/local). - Đăng nhập → Tài khoản / Ví → Nạp tiền.
- Banner phải hiện «Nạp qua VNPay sandbox» · chọn số nhỏ (vd 50.000) → Xác nhận.
- 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
- Số thẻ
- 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'