WELIFE Docs Swagger Admin Web

WP-PAY-LIVE-01 — VNPay sandbox primary (2026-08-10)

Domain: D-PAY Surfaces: API + CON Status: IMP (sandbox create payUrl) · IPN e2e cần URL public

Env

Key Value
PAYMENTS_MOCK false
VNPAY_URL https://sandbox.vnpayment.vn/paymentv2/vpcpay.html
MoMo configured nhưng không preferred (credential sandbox reject trước đó)

Smoke

GET  /payments/providers  → preferred=VNPAY · mock disabled · vnpay configured
POST /payments/init { amount:10000, provider:VNPAY }
  → PENDING · payUrl host=sandbox.vnpayment.vn · vnp_SecureHash OK
POST /payments/init { amount }  (omit provider)
  → provider=VNPAY (default)

Quy trình thanh toán (đã gắn)

Flow Provider
Wallet topup pickPaymentProvider → VNPAY
FNB/Grocery settleOrderPayment mở payUrl từ BE (default VNPAY)
Bills / QR payInit omit provider → BE default VNPAY
Order initForOrder BE: VNPAY > MoMo > MOCK

BE thêm field preferred trên /payments/providers.

Deeplink return (WP-PAY-VNPAY-DEEPLINK-01)