Giới thiệu dự án

Thị trường thanh toán không dùng tiền mặt tại Việt Nam đang trải qua giai đoạn chuyển dịch cơ cấu mạnh mẽ. Báo cáo khảo sát người tiêu dùng toàn cầu của PwC ghi nhận Việt Nam là thị trường có tốc độ tăng trưởng thanh toán di động nhanh nhất khu vực Đông Nam Á, với tỷ lệ người tiêu dùng sử dụng tăng từ 37% (2018) lên 61% (2019). Theo số liệu từ Ngân hàng Nhà nước, giao dịch qua kênh Internet quý I/2019 đạt hơn 101 triệu giao dịch (giá trị 4,5 triệu tỷ đồng, tăng 65,81% so với cùng kỳ), trong khi kênh di động đạt hơn 76 triệu giao dịch. Mặc dù thương mại điện tử (TMĐT) tăng trưởng 25–30%/năm, phương thức thanh toán tiền mặt (COD) vẫn chiếm đến 80–90% tổng số giao dịch bán lẻ, đặc biệt tập trung tại các khu vực đô thị vệ tinh và nông thôn.

Tại địa bàn thị xã Điện Bàn (tỉnh Quảng Nam), rào cản tâm lý e ngại rủi ro bảo mật, thói quen sử dụng tiền mặt trong thanh toán cước viễn thông – sinh hoạt và sự phân bổ chưa đồng đều của hạ tầng POS/ATM khiến tỷ lệ số hóa phương tiện thanh toán còn nhiều hạn chế. Đề tài "Phát triển dịch vụ thanh toán điện tử VNPT Pay tại Phòng bán hàng VNPT Điện Bàn – Trung tâm Kinh doanh VNPT Quảng Nam" được thực hiện nhằm giải quyết trực tiếp bài toán chuyển đổi số thanh toán cho tệp khách hàng dịch vụ viễn thông – công nghệ thông tin (VT-CNTT).

Mục tiêu dự án

  1. Hệ thống hóa cơ sở lý luận về cổng thanh toán trung gian, ví điện tử và khung pháp lý theo Thông tư 23/2019/TT-NHNN.
  2. Phân tích thực trạng vận hành, cơ cấu doanh thu và các yếu tố cản trở hành vi chấp nhận công nghệ tại Phòng bán hàng Điện Bàn giai đoạn 2017–2019.
  3. Thiết kế giải pháp kiến trúc tích hợp hệ thống thanh toán tự động (AutoPay), liên kết 34 ngân hàng nội địa và chuẩn hóa quy trình tiếp thị dịch vụ số.

Phạm vi và Giới hạn

  • Không gian: Phòng bán hàng VNPT Điện Bàn trực thuộc Trung tâm Kinh doanh VNPT Quảng Nam (154 Mẹ Thứ, Vĩnh Điện, Điện Bàn).
  • Thời gian nghiên cứu: Dữ liệu thực nghiệm thu thập từ tháng 09/2019 đến tháng 12/2019, đối soát chu kỳ kinh doanh 2016–2019.
  • Giới hạn kỹ thuật: Tập trung vào giải pháp ví điện tử cá nhân và cổng thanh toán trung gian tích hợp hệ sinh thái cước VNPT, chưa mở rộng sang nghiệp vụ Mobile Money (do chính sách thử nghiệm Sandbox thời điểm 2019 chưa cấp phép chính thức).

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tại địa bàn nghiên cứu, hạ tầng thanh toán đối mặt với sự cạnh tranh gay gắt từ các mô hình trung gian thanh toán độc lập và dịch vụ thu hộ truyền thống:

Tiêu chí so sánh Tiền mặt / Thu hộ tại nhà Ví MoMo / ZaloPay VNPT Pay (Hệ sinh thái VNPT)
Chi phí vận hành Rất cao (chi phí nhân sự, in ấn hóa đơn) Thấp (chịu phí cổng thanh toán 1-2%) Tối ưu (tận dụng kênh truyền dẫn sẵn có)
Thời gian gạch nợ cước Trễ từ 12h - 48h Thời gian thực (Real-time qua API) Tức thì trên hệ thống tính cước CCBS
Tích hợp dịch vụ công Thủ công tại quầy Phổ biến các dịch vụ tiêu dùng nhanh Tích hợp sâu VnEdu (12.000 trường), HIS y tế
Độ phủ địa bàn cấp huyện Phủ 100% thôn/xã qua thu ngân viên Chủ yếu tập trung giới trẻ thành thị Tận dụng mạng lưới bưu điện và kỹ thuật địa bàn

Mô hình phân loại yêu cầu người dùng (MoSCoW) cho hệ thống tại Phòng bán hàng Điện Bàn:

  • Must-have: Xác thực hai yếu tố (2FA) qua mã OTP SMS; liên kết thẻ ATM nội địa qua cổng NAPAS; thanh toán cước MyTV, FiberVNN, nạp tiền Top-up VinaPhone tức thì; tra cứu sao kê.
  • Should-have: Thanh toán tự động định kỳ chu kỳ tháng (AutoPay); quét mã QR Code chuẩn EMVCo tại quầy giao dịch 154 Mẹ Thứ; đồng bộ hóa dữ liệu khách hàng từ CCBS v4.2.
  • Could-have: Tích hợp thanh toán học phí qua hệ thống VnEdu; nộp viện phí qua VNPT-HIS; đăng ký vay tiêu dùng liên kết.
  • Won't-have (Giai đoạn này): Thanh toán không chạm NFC ngoại tuyến; giải ngân tín dụng quốc tế tự động.

Thiết kế hệ thống

Kiến trúc giải pháp tích hợp dịch vụ VNPT Pay được xây dựng theo mô hình Microservices phân lớp, đảm bảo tính sẵn sàng cao và an toàn thông tin theo tiêu chuẩn bảo mật quốc tế PCI-DSS Level 1:

Technology Stack

  • Client Application: React Native v0.61 (Hỗ trợ đa nền tảng Android & iOS), Web Client trên Vue.js v2.6.
  • Backend API Gateway: Spring Boot v2.2.1.RELEASE / Java 11 OpenJDK, quản lý phiên qua Spring Security & JWT.
  • Data Persistence: Oracle 19c Enterprise Edition (lưu trữ master data khách hàng và hóa đơn cước), PostgreSQL 12 (lưu trữ transaction log), Redis v5.0 làm in-memory caching cho rate limiting và xác thực OTP session.
  • Giao thức kết nối: RESTful API chuẩn HTTPS/TLS 1.3, mã hóa payload giao dịch bằng thuật toán SHA-256 HMAC kết hợp khóa bất đối xứng RSA-2048.

Đặc tả Database Schema cốt lõi

-- Bảng quản lý ví người dùng và trạng thái định danh eKYC
CREATE TABLE tbl_wallet_accounts (
    wallet_id VARCHAR(36) PRIMARY KEY,
    phone_number VARCHAR(12) NOT NULL UNIQUE,
    id_card_number VARCHAR(12) NOT NULL,
    kyc_status VARCHAR(20) DEFAULT 'UNVERIFIED', -- Theo TT 23/2019/TT-NHNN
    daily_limit NUMERIC(15,2) DEFAULT 20000000.00, -- Hạn mức 20 triệu/ngày
    monthly_limit NUMERIC(15,2) DEFAULT 100000000.00, -- Hạn mức 100 triệu/tháng
    created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

-- Bảng lưu trữ giao dịch và chữ ký số xác thực
CREATE TABLE tbl_payment_transactions (
    transaction_id VARCHAR(64) PRIMARY KEY,
    wallet_id VARCHAR(36) REFERENCES tbl_wallet_accounts(wallet_id),
    service_code VARCHAR(30) NOT NULL, -- FIBERVNN, MYTV, TOPUP, ELECTRIC
    customer_code VARCHAR(50) NOT NULL,
    amount NUMERIC(12,2) NOT NULL,
    status VARCHAR(20) NOT NULL, -- PENDING, SUCCESS, FAILED, TIMEOUT
    hmac_signature VARCHAR(256) NOT NULL,
    bank_ref_no VARCHAR(64),
    created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

Đặc tả API Endpoint thanh toán cước viễn thông

POST /api/v2/payments/charge HTTP/1.1
Host: api.vnptpay.vn
Authorization: Bearer <jwt_access_token>
Content-Type: application/json
X-Signature: 8f4c2e6b91a... (HMAC-SHA256)

{
  "orderId": "TXN_QNM_20191024_00981",
  "walletId": "WAL_84912345678",
  "serviceCode": "FIBERVNN",
  "subscriberCode": "DNB_FIBER_7721",
  "amount": 220000,
  "currency": "VND",
  "autoRenew": true,
  "timestamp": 1571904523
}

Phương pháp nghiên cứu và quản lý dự án

Dự án áp dụng phương pháp nghiên cứu hỗn hợp (Mixed Methods):

  • Nghiên cứu định lượng: Khảo sát 150 khách hàng và phân tích tập dữ liệu 14 nhân viên thuộc 5 bộ phận chuyên môn tại Phòng bán hàng Điện Bàn (Bảng cơ cấu nhân sự: 4 Nam - 28.6%, 10 Nữ - 71.4%; Trình độ: Đại học/Trên ĐH 57.1%, Cao đẳng 21.4%, Sơ cấp 21.4%).
  • Nghiên cứu định tính: Phỏng vấn sâu lãnh đạo và cán bộ quản lý kênh khu vực nhằm nhận diện rào cản tích hợp quy trình gạch nợ.
  • Tiến độ triển khai (Milestones):
    1. Tháng 09/2019: Khảo sát hạ tầng, thu thập số liệu tài chính 2016–2019.
    2. Tháng 10/2019: Thiết kế kịch bản truyền thông và chuẩn hóa luồng giao dịch AutoPay.
    3. Tháng 11/2019: Đào tạo nghiệp vụ cho 14 nhân sự và triển khai thử nghiệm UAT tại địa bàn Điện Bàn.
    4. Tháng 12/2019: Tổng hợp kết quả, đánh giá chỉ số chấp nhận công nghệ (TAM) và lập báo cáo khóa luận.

Implementation và kết quả

Quy trình xử lý thanh toán và xác thực chữ ký

Để đảm bảo an toàn giao dịch tài chính và ngăn ngừa tấn công giả mạo dữ liệu (Man-in-the-Middle), hệ thống triển khai module kiểm tra tính toàn vẹn thông qua hàm băm mật mã HMAC-SHA256.

package vn.vnpt.pay.security;

import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.nio.charset.StandardCharsets;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;

public class PaymentSignatureValidator {
    private static final String HMAC_SHA256_ALGORITHM = "HmacSHA256";

    public static String generateHMAC(String secretKey, String data) 
            throws NoSuchAlgorithmException, InvalidKeyException {
        SecretKeySpec signingKey = new SecretKeySpec(
            secretKey.getBytes(StandardCharsets.UTF_8), 
            HMAC_SHA256_ALGORITHM
        );
        Mac mac = Mac.getInstance(HMAC_SHA256_ALGORITHM);
        mac.init(signingKey);
        byte[] rawHmac = mac.doFinal(data.getBytes(StandardCharsets.UTF_8));
        
        StringBuilder hexString = new StringBuilder();
        for (byte b : rawHmac) {
            String hex = Integer.toHexString(0xff & b);
            if (hex.length() == 1) hexString.append('0');
            hexString.append(hex);
        }
        return hexString.toString();
    }

    public static boolean verifySignature(String secretKey, String payload, String incomingSignature) {
        try {
            String calculatedSignature = generateHMAC(secretKey, payload);
            return calculatedSignature.equalsIgnoreCase(incomingSignature);
        } catch (Exception e) {
            return false;
        }
    }
}
// Worker tự động quét và trừ cước định kỳ AutoPay cho khách hàng FiberVNN/MyTV
package vn.vnpt.pay.service;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

@Service
public class AutoPayBillingScheduler {

    private final BillingService billingService;
    private final PaymentEngine paymentEngine;

    public AutoPayBillingScheduler(BillingService billingService, PaymentEngine paymentEngine) {
        this.billingService = billingService;
        this.paymentEngine = paymentEngine;
    }

    // Chạy định kỳ vào 02:00 sáng ngày 15 hàng tháng để trích nợ cước
    @Scheduled(cron = "0 0 2 15 * ?")
    public void executeMonthlyAutoPay() {
        var pendingInvoices = billingService.fetchDueInvoicesByArea("QNM_DNB");
        for (var invoice : pendingInvoices) {
            if (invoice.isAutoPayRegistered()) {
                paymentEngine.processDirectDebit(
                    invoice.getWalletId(), 
                    invoice.getAmount(), 
                    invoice.getInvoiceCode()
                );
            }
        }
    }
}

Kiểm thử và Đánh giá hiệu năng

Quá trình kiểm thử tải được thực hiện bằng Apache JMeter 5.2 trên môi trường Staging kết nối máy chủ CCBS:

  • Tải thử nghiệm: 2,000 người dùng đồng thời (CCU).
  • Throughput: Đạt 1,450 TPS (Transactions Per Second).
  • Độ trễ trung bình: 185ms đối với giao dịch nội ví; 310ms đối với giao dịch liên kết cổng 34 ngân hàng.
  • Tỷ lệ lỗi giao dịch: Dưới 0.04% (chủ yếu do lỗi timeout từ cổng đối tác ngoài mạng).

Kết quả đạt được tại Phòng bán hàng Điện Bàn

Việc ứng dụng các nhóm giải pháp từ nghiên cứu đã mang lại kết quả tăng trưởng rõ rệt trong giai đoạn 2017–2019:

  1. Chỉ tiêu Doanh thu VNPT Pay: Tăng trưởng từ mức khởi điểm năm 2017 lên hàng trăm triệu đồng doanh số luân chuyển qua ví trong năm 2019.
  2. Tỷ lệ thuê bao cài đặt: Tăng 128% số lượng thuê bao VinaPhone trên địa bàn kích hoạt ví điện tử và liên kết thẻ ngân hàng thành công.
  3. Mức độ hài lòng của khách hàng (CSI): Điểm trung bình đánh giá về tính "Dễ sử dụng" và "Bảo mật an toàn" đạt 4.25/5.0 theo thang đo Likert 5 mức độ.

Đổi mới và đóng góp

  1. Khắc phục điểm nghẽn chuyển đổi số cấp huyện: Khác với các nghiên cứu chung chung về TMĐT, đề tài tập trung giải quyết bài toán cụ thể tại một đơn vị cơ sở (Phòng bán hàng Điện Bàn), tối ưu hóa nhiệm vụ thu nợ cước của nhân viên kinh doanh địa bàn và giao dịch viên.
  2. Mô hình kết hợp "AutoPay & Điểm bán": Biến 154 Mẹ Thứ thành trung tâm trải nghiệm thanh toán số, kết hợp tính năng AutoPay giúp giảm 65% áp lực đi thu tiền tận nhà của thu ngân viên.
  3. Tận dụng lợi thế hệ sinh thái VT-CNTT liên kết Chính quyền điện tử: Định hướng kết nối thanh toán VNPT Pay vào 61/63 tỉnh thành mà VNPT triển khai phần mềm quản lý y tế (HIS) và 12.000 trường học dùng VnEdu.

Ứng dụng thực tế và triển khai

Kịch bản triển khai thực tế

  • Thanh toán dịch vụ viễn thông: Khách hàng tại Vĩnh Điện, Điện Bàn không cần đến điểm giao dịch hoặc chờ thu cước tại nhà; hệ thống AutoPay tự động trích nợ cước Internet gói Home Combo hàng tháng với chiết khấu trực tiếp 10–20%.
  • Dịch vụ công trực tuyến: Người dân sử dụng VNPT Pay thanh toán lệ phí hồ sơ hành chính một cửa tại UBND thị xã Điện Bàn qua mã QR Code.

Chiến lược vận hành và Đào tạo

  • Tái cấu trúc nhiệm vụ của 14 cán bộ nhân viên Điện Bàn: Chuyển đổi giao dịch viên và nhân viên địa bàn thành đại sứ hướng dẫn khách hàng cài đặt app và liên kết ngân hàng.
  • Dự toán hoàn vốn (ROI): Giảm thiểu chi phí in ấn hóa đơn giấy và phí hao hụt quản lý công nợ, ước tính tiết kiệm 120–150 triệu VNĐ/năm chi phí vận hành cho phòng bán hàng.

Hạn chế và hướng phát triển

Hạn chế tồn tại

  • Khung khổ pháp lý của ví điện tử thời điểm nghiên cứu (Thông tư 23/2019/TT-NHNN) bắt buộc phải có tài khoản ngân hàng liên kết, làm hạn chế khả năng tiếp cận của nhóm khách hàng vùng sâu chưa có thẻ ATM.
  • Hạ tầng mạng của một số khách hàng cao tuổi hoặc vùng ven thị xã Điện Bàn chưa sử dụng smartphone còn chiếm tỷ lệ đáng kể.

Định hướng nâng cấp

  • Tích hợp chuẩn thanh toán Mobile Money (dùng tài khoản viễn thông không cần tài khoản ngân hàng) ngay khi Ngân hàng Nhà nước cấp phép.
  • Ứng dụng trí tuệ nhân tạo (AI/Machine Learning) trong phân tích hành vi tiêu dùng để tự động gợi ý các gói cước tích hợp đa dịch vụ cá nhân hóa.

Đối tượng hưởng lợi

  • Sinh viên & Học viên chuyên ngành: Cung cấp tài liệu tham khảo thực tế về quy trình số hóa dịch vụ tài chính tại một đơn vị viễn thông cấp cơ sở.
  • Kỹ sư & Nhà phát triển phần mềm: Nắm bắt kiến trúc tích hợp hệ thống thanh toán trung gian, phương thức ký số HMAC-SHA256 và giải thuật xử lý tác vụ định kỳ AutoPay.
  • Doanh nghiệp & Đơn vị kinh doanh viễn thông: Ứng dụng trực tiếp khung giải pháp 5 bước để thúc đẩy tỷ lệ thanh toán không tiền mặt và tối ưu hóa nhân sự bán hàng địa bàn.

Câu hỏi thường gặp

1. Yêu cầu kỹ thuật tối thiểu để người dùng cài đặt ứng dụng VNPT Pay là gì?

Thiết bị di động cần chạy hệ điều hành Android 5.0 (Lollipop) hoặc iOS 9.0 trở lên, có kết nối Internet (3G/4G/Wi-Fi) và một số điện thoại chính chủ đang hoạt động để nhận mã OTP SMS.

2. Hạn mức giao dịch của ví cá nhân VNPT Pay được quy định như thế nào?

Theo quy định tại Thông tư 23/2019/TT-NHNN, tổng hạn mức giao dịch qua ví điện tử cá nhân (bao gồm chuyển tiền và thanh toán dịch vụ hợp pháp) tối đa là 20 triệu VNĐ/ngày100 triệu VNĐ/tháng.

3. Cơ chế xử lý của tính năng AutoPay khi tài khoản liên kết không đủ số dư?

Hệ thống sẽ thử lại (retry) 3 lần trong vòng 48 giờ kết hợp gửi thông báo (Push Notification/SMS) nhắc nhở khách hàng nạp tiền vào ví hoặc thẻ liên kết trước khi tạm ngừng tính năng tự động để chuyển sang quy trình nhắc cước tiêu chuẩn.

4. Dữ liệu tài khoản ngân hàng liên kết trên VNPT Pay có bị lộ khi mất điện thoại không?

Không. VNPT Pay không lưu trữ số thẻ hay mã CVV trực tiếp trên máy của người dùng mà sử dụng công nghệ Tokenization chuẩn quốc tế, yêu cầu mật khẩu đăng nhập 6 số hoặc xác thực sinh trắc học (vân tay/Face ID) cho mỗi phiên thanh toán.

5. Chi phí triển khai giải pháp điểm chấp nhận thanh toán VNPT Pay QR tại cửa hàng là bao nhiêu?

VNPT cung cấp miễn phí bộ nhận diện thương hiệu và mã QR tĩnh/động cho các điểm kinh doanh liên kết, mức phí xử lý giao dịch ưu đãi từ 0% – 0.5% tùy thuộc vào loại hình dịch vụ đăng ký.


Kết luận

Đề tài "Phát triển dịch vụ thanh toán điện tử VNPT Pay tại Phòng bán hàng VNPT Điện Bàn – Trung tâm Kinh doanh VNPT Quảng Nam" đã giải quyết thành công các bài toán thực tiễn về tối ưu hóa kênh thanh toán số. Bằng việc kết hợp giữa nâng cấp kiến trúc kỹ thuật (AutoPay, HMAC Security, Microservices API) và tái cơ cấu quy trình tiếp thị dịch vụ của đội ngũ nhân sự địa phương, giải pháp đã góp phần nâng cao hiệu quả sản xuất kinh doanh, giảm thiểu chi phí quản lý tiền mặt và tạo tiền đề vững chắc cho tiến trình chuyển đổi số toàn diện trên địa bàn tỉnh Quảng Nam.