Viettel Money — reach customers across all of Vietnam
CVPay is a Singapore-licensed payment provider that lets businesses accept VND payments from Viettel Money users through interoperable QR codes, with automatic order matching and webhook confirmation.

What is Viettel Money?
Viettel Money (formerly ViettelPay) is the payment service of Viettel, Vietnam’s largest telecom operator. Built on Viettel’s nationwide network and agent footprint, it reaches customer segments other wallets often miss — including rural areas and users on mobile-money accounts.
Like other Vietnamese wallets, Viettel Money participates in national QR interoperability. CVPay’s dynamic QR codes are payable straight from the Viettel Money app, so a single integration covers this user base alongside every other wallet and bank.
Key facts
- Method type
- E-wallet / mobile money (QR-based, interoperable)
- Operator
- Viettel — Vietnam’s largest telecom group
- Distinct reach
- Strong coverage in provinces and rural Vietnam
- Currency
- VND (Vietnamese dong)
- Pay-in speed
- Real-time confirmation in the app; order updated in 1–3 minutes
- Limits
- Wallet-side limits per account tier; merchant limits follow your configuration
How it works with CVPay
Accepting payments (pay-ins)
Create an order via the API, show the returned QR, and the customer pays from the Viettel Money app with the amount pre-filled. Matching to your order is automatic and the result lands on your webhook, typically within 1–3 minutes.
Sending payouts
Payouts are dispatched as VND fast transfers to Vietnamese bank accounts over the 24/7 network, with optional recipient-name verification before funds leave. This single rail dependably reaches wallet users as well.
Integration
One REST API covers every payment method CVPay supports. Create an order, show the returned QR or account details to your customer, and receive the result on your webhook. A hosted cashier page and sandbox environment are available, and most merchants complete integration within days.
curl -X POST 'https://{api-base}/api/pay/qrcode' \
-d 'mchNo=M1234567890' \
-d 'appId=YOUR_APP_ID' \
-d 'mchOrderNo=ORDER-2026-0001' \
-d 'wayCode=QRCODE247' \
-d 'currency=vnd' \
-d 'amount=500000' \
-d 'sign=...'
# Response contains a VietQR payload bound to this order.
# Simplified example — see the API docs for the full
# field list and MD5 signature spec.Frequently asked questions
Why offer Viettel Money if I already accept bank QR?+
It is the same QR — no extra work. The value is audience coverage: Viettel Money reaches telecom-first and rural users who may not use the wallets popular in big cities.
Is Viettel Money the same as ViettelPay?+
Yes. ViettelPay was rebranded to Viettel Money as Viettel consolidated its digital finance services. The app and user base carried over.
How fast do payments settle?+
Confirmation is real-time in the customer’s app, and your order is updated through webhook typically within 1–3 minutes, 24/7.
What limits apply?+
Viettel Money enforces per-account limits by verification tier; your merchant configuration sets per-transaction and daily limits on top. Contact us if you expect unusually large single payments.
Related payment methods
Start accepting payments today.
Create an account and go live, or talk to our team about your requirements.

