OWNER e2e Pay — 2026-08-12
Domain: D-PAY · WP: WP-OWNER-WIRE-01 (Pay slice)
Surfaces: API · VPSapi.minhtien.cloud
Agent: mint short-lived JWT inwelife-api(no secret printed) ·POST /payments/init
Kết quả
| Step | Result |
|---|---|
GET /payments/providers |
status=ready · preferred=VNPAY · mock disabled · momo+vnpay configured · wallet credit disabled |
POST /payments/init (omit provider) |
201 · PENDING · provider=VNPAY · payUrlHost=sandbox.vnpayment.vn · vnp_SecureHash present |
POST /payments/init { provider: VNPAY } |
201 · same sandbox host + hash |
POST /payments/init { provider: MOMO } |
400 · MoMo: "Cấu hình doanh nghiệp không chính xác hoặc tài khoản không hoạt động." |
Kết luận
| Gateway | Create sandbox | IPN/return full |
|---|---|---|
| VNPay | PASS | OWNER mở payUrl trên sandbox → thanh toán test → xác nhận ví credit / return HTML |
| MoMo | FAIL (merchant/credential) | Giữ DEFERRED đến khi portal MoMo duyệt / key sandbox đúng |
PAYMENTS_MOCK=false · MOMO_ENV=sandbox · preferred VNPAY — khớp OWNER-GATES §3.
OWNER còn lại (1 bước thủ công)
- Mở app hoặc dán
payUrlsandbox VNPay vừa tạo → thanh toán số tiền test. - Xác nhận return
welife://payment/result/ trang return + số dư ví tăng. - (Tuỳ chọn) Đổi MoMo merchant sandbox đúng rồi nhắn agent smoke lại
provider=MOMO.
Không commit .env / hash secret / payUrl đầy đủ (có chữ ký).