WooCommerce · chuyển khoản ACB

Plugin WooCommerce chuyển khoản QR tự động xác nhận thanh toán

Plugin WooCommerce chuyển khoản QR tự động xác nhận thanh toán tạo VietQR đúng số tiền cho từng đơn. Tiền vào tài khoản ngân hàng, MONA Pay gửi webhook để đơn tự đổi trạng thái; shop được thử đủ luồng trước khi nối ngân hàng, trả 0% phí giao dịch và dùng miễn phí 500 giao dịch mỗi tháng.

Đơn WooCommerce tự chuyển sang đã thanh toán, ảnh chụp cửa hàng thử (sandbox)
Đơn WooCommerce tự chuyển sang đã thanh toán, ảnh chụp cửa hàng thử (sandbox)
  • 500 giao dịchmiễn phí mỗi tháng, đủ mọi tính năng
  • Không thu %trên số tiền khách chuyển
  • Tiền về thẳngtài khoản ngân hàng đứng tên bạn
  • Từ 2022chạy tiền thật cho khách MONA

Video · 3 phút

Xem cài MONA Pay cho WooCommerce từ tải plugin tới đơn tự xác nhận

Plugin WooCommerce chuyển khoản QR code tự báo có: cài MONA Pay trong 5 phút · Xem trên YouTube
Xem transcript video (8 phần)

Khách chuyển khoản là đơn tự xác nhận

Bạn bán hàng trên WooCommerce, khách chuyển khoản xong là phải mở app ngân hàng soi từng đơn rồi vào sửa trạng thái bằng tay. Video này mình cài MONA Pay vào WooCommerce, mất khoảng năm phút. Cài xong, khách quét mã QR chuyển khoản là đơn tự nhảy sang đã thanh toán, không ai phải canh app ngân hàng nữa.

Bước 1: Tải và kích hoạt plugin

Đầu tiên vào monapay.vn, trang cổng thanh toán WooCommerce, bấm tải plugin. Đây là file zip, bạn vào WordPress, mục Plugin, chọn tải plugin lên, chọn file vừa tải rồi kích hoạt. Plugin của MONA đang chờ duyệt trên kho WordPress, nên tạm thời tải từ trang MONA Pay.

Bước 2: Tạo khóa API trên MONA Pay

Tiếp theo cần một tài khoản MONA Pay. Vào my.monapay.vn, đăng ký bằng email, dùng được ngay, không phải chờ duyệt. Vào mục Khóa API, bấm tạo khóa mới, đặt tên là cửa hàng của mình. Hệ thống đưa cho bạn hai chuỗi: mã khách hàng và mã bí mật. Mã bí mật chỉ hiện một lần, bạn copy lại ngay.

Bước 3: Dán khóa vào WooCommerce, bật chế độ thử

Quay lại WooCommerce, vào Cài đặt, Thanh toán, chọn MONA Pay. Dán mã khách hàng và mã bí mật vào hai ô này. Chế độ thanh toán để là chuyển hướng sang trang thanh toán của MONA Pay, cách này gọn nhất. Bật chế độ thử để test trước, chưa cần nối ngân hàng thật. Bấm lưu.

Bước 4: Đặt thử một đơn như khách

Giờ mình thử như một khách hàng. Ra ngoài cửa hàng, chọn một bó hoa, thanh toán, chọn hình thức chuyển khoản qua MONA Pay rồi đặt hàng. Trang chuyển sang trang thanh toán của MONA Pay: có mã QR, số tiền, nội dung chuyển khoản đã điền sẵn, khách chỉ việc quét bằng app ngân hàng. Vì đang ở chế độ thử nên có dải chữ báo đây là phiên thử, không chuyển tiền thật.

Tiền vào là đơn tự sang đang xử lý

Mình giả lập khách vừa chuyển khoản. Vài giây sau trang thanh toán báo đã nhận tiền và tự quay về trang cảm ơn của cửa hàng. Trong WooCommerce, đơn hàng đã đổi sang đang xử lý, kèm ghi chú số tiền và thời gian tiền vào. Không ai phải bấm gì cả.

Chạy thật: nối ngân hàng, bật thông báo

Khi chạy thật, bạn vào MONA Pay, mục Ngân hàng, nối tài khoản ACB bằng mã OTP, tắt chế độ thử là xong, còn lại y như vừa test. Tiền vào thẳng tài khoản ngân hàng của bạn, MONA Pay không giữ tiền. Muốn nhận thêm thông báo, bật Telegram, email hay nhóm Zalo trong phần Thông báo.

Tài liệu và đăng ký miễn phí

Toàn bộ hướng dẫn chi tiết ở monapay.vn, mục tài liệu. Đăng ký miễn phí tại my.monapay.vn. Bạn cài xong mà kẹt chỗ nào, gọi tổng đài một chín không không, sáu ba sáu, sáu bốn tám, đội MONA hỗ trợ.

Ảnh chụp thật

Tích hợp mã QR code thanh toán vào đơn hàng WooCommerce

Từ lúc shop nhập key tới khi đơn số 20 tự đổi trạng thái, đây là luồng plugin đang chạy trên cửa hàng demo của MONA Pay.

Chưa nối ngân hàng vẫn thử được: bật Chế độ thử (sandbox) trong cài đặt plugin.

  1. 01
    Cài plugin, nhập key và bật chế độ thử

    Tải bản mới nhất, cài file zip trong WordPress rồi nhập Client ID, Client Secret. Lúc chạy thử, bật Chế độ thử và lưu cấu hình.

    Ảnh cài đặt plugin WooCommerce MONA Pay với Client ID, Client Secret và chế độ thử sandbox
    Cài đặt plugin với Client ID, Client Secret và Chế độ thử đang bật; chụp trên cửa hàng demo WooCommerce 11.1, chế độ thử.
  2. 02
    Khách chọn MONA Pay ở checkout

    Khách điền thông tin nhận hàng, kiểm tra tổng tiền 900.000đ rồi chọn MONA Pay làm phương thức thanh toán trước khi đặt hàng.

    Ảnh plugin WooCommerce MONA Pay được chọn tại trang checkout của đơn hàng 900.000 đồng
    MONA Pay xuất hiện ngay trong các phương thức thanh toán ở checkout; chụp trên cửa hàng demo WooCommerce 11.1, chế độ thử.
  3. 03
    Chuyển sang trang thanh toán, quét QR

    Sau khi đặt hàng, khách được chuyển sang pay.monapay.vn. Trang hiển thị đúng 900.000đ, mã đơn DH20, VietQR và thời gian còn lại.

    Ảnh plugin WooCommerce MONA Pay chuyển đơn 900.000 đồng sang trang pay.monapay.vn với mã VietQR
    Trang thanh toán hiển thị đúng số tiền, nội dung DH20 và mã VietQR; chụp trên cửa hàng demo WooCommerce 11.1, chế độ thử.
  4. 04
    Tiền vào, trang cảm ơn báo đã thanh toán

    MONA Pay nhận giao dịch và xác nhận về WooCommerce. Khách trở lại trang Đơn hàng đã nhận, thấy trạng thái Đã thanh toán cùng đúng số tiền.

    Ảnh plugin WooCommerce MONA Pay báo trạng thái Đã thanh toán trên trang Đơn hàng đã nhận
    Trang cảm ơn ghi Trạng thái: Đã thanh toán và vẫn có dải nhận diện sandbox; chụp trên cửa hàng demo WooCommerce 11.1, chế độ thử.
  5. 05
    Đơn trong admin tự sang Đang xử lý

    Ở WooCommerce Admin, đơn số 20 tự chuyển sang Đang xử lý. Shop có thể đóng gói ngay mà không cần mở app ngân hàng để đối chiếu tay.

    Ảnh plugin WooCommerce MONA Pay tự chuyển đơn số 20 trong admin sang trạng thái Đang xử lý
    Đơn số 20 trong WooCommerce Admin đã sẵn sàng cho khâu xử lý; chụp trên cửa hàng demo WooCommerce 11.1, chế độ thử.
Ảnh cài đặt plugin WooCommerce MONA Pay với Client ID, Client Secret và chế độ thử sandbox
Cài đặt plugin với Client ID, Client Secret và Chế độ thử đang bật; chụp trên cửa hàng demo WooCommerce 11.1, chế độ thử.
Ảnh plugin WooCommerce MONA Pay được chọn tại trang checkout của đơn hàng 900.000 đồng
MONA Pay xuất hiện ngay trong các phương thức thanh toán ở checkout; chụp trên cửa hàng demo WooCommerce 11.1, chế độ thử.
Ảnh plugin WooCommerce MONA Pay chuyển đơn 900.000 đồng sang trang pay.monapay.vn với mã VietQR
Trang thanh toán hiển thị đúng số tiền, nội dung DH20 và mã VietQR; chụp trên cửa hàng demo WooCommerce 11.1, chế độ thử.
Ảnh plugin WooCommerce MONA Pay báo trạng thái Đã thanh toán trên trang Đơn hàng đã nhận
Trang cảm ơn ghi Trạng thái: Đã thanh toán và vẫn có dải nhận diện sandbox; chụp trên cửa hàng demo WooCommerce 11.1, chế độ thử.
Ảnh plugin WooCommerce MONA Pay tự chuyển đơn số 20 trong admin sang trạng thái Đang xử lý
Đơn số 20 trong WooCommerce Admin đã sẵn sàng cho khâu xử lý; chụp trên cửa hàng demo WooCommerce 11.1, chế độ thử.

Cài đặt plugin với Client ID, Client Secret và Chế độ thử đang bật; chụp trên cửa hàng demo WooCommerce 11.1, chế độ thử.

Chuyện quen ở shop bán hàng

Plugin thanh toán WooCommerce Việt Nam xử lý đơn chuyển khoản ra sao?

Đội MONA làm web bán hàng cho khách từ 2016, tới giờ đã qua 14.000+ dự án. Cứ shop nào nhận chuyển khoản là gặp đúng mấy cảnh này.

Khách chuyển xong phải chụp màn hình gửi Zalo

Khách vừa trả tiền vừa phải làm thêm việc chứng minh. Shop nhận ảnh, mở app ngân hàng dò lại, rồi mới dám bấm xác nhận. Một đơn mất 5 phút, 50 đơn một ngày là hết buổi sáng của một nhân viên chỉ để dò tiền.

Nhân viên ngồi canh app ngân hàng

Điện thoại công ty đăng nhập tài khoản ngân hàng nằm trên bàn, ai rảnh thì cầm lên coi. Người cầm điện thoại thấy hết số dư, thấy hết giao dịch, mà vẫn dò sót vì tin nhắn ngân hàng nhảy chen với tin nhắn khác.

Đêm khuya, cuối tuần không ai xác nhận

Khách đặt lúc 11 giờ đêm, chuyển tiền xong ngồi chờ. Sáng hôm sau shop mới xác nhận, khách đã hỏi 3 lần "nhận được chưa". Đơn hàng trễ 1 ngày vì cái nút xác nhận, chứ hàng thì có sẵn trong kho.

Hai khách chuyển cùng 250.000 đ, khớp nhầm đơn

Khách gõ nội dung tuỳ hứng: "ck", "thanh toan", tên riêng. Cùng số tiền, cùng khung giờ, nhân viên chọn đại một đơn để xác nhận. Đúng thì may, sai thì gửi hàng cho người chưa trả tiền và giữ hàng của người đã trả.

Cách MONA Pay làm

Plugin tự động xác nhận thanh toán qua tài khoản ngân hàng

Đội MONA dùng cách này để thu tiền hosting, học phí, đơn phần mềm cho chính MONA, rồi từ 2022 khách hàng của MONA thu tiền qua đây trước khi mở cho bạn.

Khách đặt hàng, trang thanh toán hiện mã QR đúng số tiền

Web sinh mã VietQR động cho từng đơn: số tiền đã điền sẵn, nội dung chuyển khoản là mã đơn (ví dụ DH1234). Khách mở app ngân hàng bất kỳ, quét, bấm chuyển. Không gõ tay số tiền, không gõ tay nội dung nên không có chuyện sai lệch.

Tiền vào tài khoản ACB của bạn

Tiền đi thẳng từ ngân hàng của khách vào tài khoản ACB đứng tên bạn. MONA Pay không giữ tiền, không đứng giữa dòng tiền. Ngay khi có tiền vào, ACB báo cho MONA Pay biết giao dịch đó (số tiền, nội dung, mã giao dịch, thời gian).

MONA Pay bắn webhook về web trong vài giây

MONA Pay gửi 1 gói tin JSON tới địa chỉ web của bạn, có chữ ký HMAC để web biết chắc là MONA Pay gửi chứ không phải ai giả mạo. Web đọc nội dung "DH1234", tìm đúng đơn, so số tiền.

Đơn WooCommerce tự chuyển sang đã thanh toán

Đơn đổi trạng thái, khách nhận email xác nhận, kho nhận lệnh đóng gói. Toàn bộ chuyện này diễn ra lúc 2 giờ sáng cũng y như 2 giờ chiều, không cần ai mở app ngân hàng ra dò.

Làm ngay hôm nay

Các cách cài plugin WooCommerce chuyển khoản QR

Cài 1 nút

Cài plugin "MONA Pay for WooCommerce", không cần code

  1. Tải file zip bản mới nhất tại github.com/mona-software/woocommerce-monapay (bản trên kho wordpress.org đang chờ duyệt).
  2. Trong WordPress vào Plugins → Thêm mới → Tải plugin lên, chọn file zip, kích hoạt. Vào WooCommerce → Thanh toán → MONA Pay VietQR.
  3. Dán Client ID, Client Secret (lấy ở my.monapay.vn → API Keys → Tạo key) và đầu số VA, bấm "Bắn webhook thử" hoặc "Tạo giao dịch thử (sandbox)" để thấy đơn tự đổi trạng thái.

Tải plugin (zip)

Cách 2

Web làm tại MONA: đội kỹ thuật MONA nối sẵn

Bạn làm web bán hàng tại MONA thì phần nhận tiền này đi kèm lúc bàn giao. Đội MONA tạo tài khoản MONA Pay, nối ACB cùng bạn (cần OTP từ số điện thoại đăng ký với ngân hàng), gắn webhook vào web, chạy thử 1 đơn thật rồi mới giao. Bạn chỉ cần có tài khoản ACB và 15 phút ngồi cùng để nhận 2 lần OTP.

Gọi 1900 636 648 hoặc xem dịch vụ thiết kế web tại mona.media.

Cách 3

Web làm nơi khác: dev dán đoạn PHP mẫu, khoảng 30 phút

Đoạn code bên dưới tạo 1 địa chỉ nhận webhook ngay trong WordPress, kiểm chữ ký HMAC, chống gửi trùng, tìm đơn theo mã trong nội dung chuyển khoản rồi gọi payment_complete() của WooCommerce. Dán vào thư mục mu-plugins, khai báo secret trong wp-config.php, vào dashboard MONA Pay dán địa chỉ webhook là chạy.

Plugin cài 1 nút đã có: tải zip bản mới nhất trên GitHub, cài trong WordPress rồi dán Client ID, Client Secret và đầu số VA. Bản trên kho wordpress.org đang chờ duyệt, lên là đội MONA công bố tại đây và trong dashboard.

Code mẫu: PHP cho WordPress, cURL để test, Node nếu chạy dịch vụ riêng

Địa chỉ webhook sau khi dán code: https://shop-cua-anh-chi.vn/wp-json/monapay/v1/webhook. Secret HMAC đặt trong dashboard MONA Pay (mục Webhooks, chọn HMAC_SHA256) phải trùng với MONA_WEBHOOK_SECRET trong wp-config.php.

PHP
<?php
// mona-pay-webhook.php: bỏ vào wp-content/mu-plugins/ (hoặc functions.php của child theme)
// Tạo endpoint https://shop-cua-anh-chi.vn/wp-json/monapay/v1/webhook để MONA Pay gọi vào
add_action('rest_api_init', function () {
    register_rest_route('monapay/v1', '/webhook', [
        'methods'             => 'POST',
        'callback'            => 'monapay_nhan_webhook',
        'permission_callback' => '__return_true', // tự xác thực bằng HMAC bên dưới
    ]);
});

function monapay_nhan_webhook(WP_REST_Request $req) {
    $secret    = defined('MONA_WEBHOOK_SECRET') ? MONA_WEBHOOK_SECRET : ''; // khai báo trong wp-config.php
    $raw       = $req->get_body();
    $timestamp = $req->get_header('X-Mona-Timestamp') ?: '';
    $signature = $req->get_header('X-Mona-Signature') ?: ''; // dạng "sha256=<hex>"

    // 1. Chặn replay: timestamp lệch quá 5 phút thì từ chối
    if (abs(time() - (int) $timestamp) > 300) {
        return new WP_REST_Response(['success' => false, 'message' => 'timestamp qua han'], 400);
    }

    // 2. Kiểm chữ ký: HMAC-SHA256(secret, "<timestamp>.<raw_body>")
    $expected = 'sha256=' . hash_hmac('sha256', $timestamp . '.' . $raw, $secret);
    if (!hash_equals($expected, $signature)) {
        return new WP_REST_Response(['success' => false, 'message' => 'sai chu ky'], 401);
    }

    $data = json_decode($raw, true);

    // 3. Chống trùng: transaction_code không đổi qua mọi lần gửi lại
    if (get_option('monapay_tx_' . $data['transaction_code'])) {
        return new WP_REST_Response(['success' => true, 'message' => 'da xu ly'], 200);
    }

    // 4. Tìm đơn: nội dung chuyển khoản chứa "DH" + mã đơn (ví dụ "DH1234")
    if (preg_match('/DH\s?(\d+)/i', (string) $data['description'], $m)) {
        $order = wc_get_order((int) $m[1]);
        if ($order && !$order->is_paid() && (int) $order->get_total() <= (int) $data['amount']) {
            $order->payment_complete($data['transaction_code']); // đơn sang "Đang xử lý"/"Hoàn thành"
            $order->add_order_note(sprintf(
                'MONA Pay: nhận %s đ từ ACB, mã giao dịch %s',
                number_format((int) $data['amount'], 0, ',', '.'),
                $data['transaction_code']
            ));
            add_option('monapay_tx_' . $data['transaction_code'], time(), '', 'no');
        }
    }

    // 5. Trả 200 ngay để MONA Pay ghi nhận thành công
    return new WP_REST_Response(['success' => true], 200);
}
Terminal
# Giả lập MONA Pay bắn webhook vào shop để test ngay trên máy
SECRET='secret_hmac_dat_trong_dashboard'
URL='https://shop-cua-anh-chi.vn/wp-json/monapay/v1/webhook'
TS=$(date +%s)
BODY='{"amount":2500000,"description":"DH1234 thanh toan","transfer_date":"10:30:00 28/08/2026","transaction_code":"FT26240001234","account_number":"1234567890","bank_name":"ACB","type":"income"}'

# Chữ ký = HMAC-SHA256(secret, "<timestamp>.<raw_body>")
SIG=$(printf '%s.%s' "$TS" "$BODY" | openssl dgst -sha256 -hmac "$SECRET" | awk '{print $2}')

curl -X POST "$URL" \
  -H 'Content-Type: application/json' \
  -H "X-Mona-Timestamp: $TS" \
  -H "X-Mona-Signature: sha256=$SIG" \
  --data "$BODY"
# Kỳ vọng: {"success":true} và đơn #1234 trong WooCommerce đổi trạng thái
JavaScript
// monapay-woo.js: nhận webhook MONA Pay rồi cập nhật đơn qua WooCommerce REST API
// Dùng khi bạn chạy 1 dịch vụ Node riêng, không muốn đụng code PHP của web
const express = require('express');
const crypto  = require('crypto');

const app     = express();
const SECRET  = process.env.MONA_WEBHOOK_SECRET;   // secret HMAC đặt trong dashboard MONA Pay
const WC_URL  = 'https://shop-cua-anh-chi.vn/wp-json/wc/v3';
const WC_AUTH = 'Basic ' + Buffer.from(process.env.WC_KEY + ':' + process.env.WC_SECRET).toString('base64');

app.post('/webhook/monapay', express.raw({ type: 'application/json' }), async (req, res) => {
  const timestamp = req.header('X-Mona-Timestamp') || '';
  const signature = req.header('X-Mona-Signature') || '';
  const rawBody   = req.body.toString('utf8');

  if (Math.abs(Date.now() / 1000 - Number(timestamp)) > 300) return res.status(400).send('timestamp qua han');

  const expected = 'sha256=' + crypto.createHmac('sha256', SECRET).update(timestamp + '.' + rawBody).digest('hex');
  const hopLe = signature.length === expected.length && crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
  if (!hopLe) return res.status(401).send('sai chu ky');

  res.status(200).json({ success: true }); // trả 200 trước, xử lý đơn sau

  const data = JSON.parse(rawBody);
  const m = /DH\s?(\d+)/i.exec(data.description || '');
  if (!m) return;
  await fetch(WC_URL + '/orders/' + m[1], {
    method: 'PUT',
    headers: { 'Content-Type': 'application/json', Authorization: WC_AUTH },
    body: JSON.stringify({ set_paid: true, transaction_id: data.transaction_code }),
  });
});

app.listen(3000, () => console.log('Webhook MONA Pay cho WooCommerce chạy ở cổng 3000'));

Gói tin MONA Pay gửi tới web gồm 7 trường: amount (số tiền), description (nội dung chuyển khoản), transfer_date, transaction_code (mã giao dịch, không đổi qua mọi lần gửi lại), account_number (số VA hoặc số tài khoản nhận), bank_name (ACB), type (income). Chi tiết tại định dạng payload.

Muốn chắc hơn nữa

Chuyển khoản QR xử lý đơn hàng tự động bằng tài khoản ảo

Tài khoản ảo (VA) theo đơn

ACB cấp cho bạn một đầu số, từ đó sinh ra nhiều số tài khoản ảo. Mỗi đơn hàng gắn 1 số ảo riêng, tiền vào số nào là biết đơn nào, không cần đọc nội dung chuyển khoản. Tiền vẫn nằm trong tài khoản ACB chính.

QR động đúng số tiền

Mã VietQR sinh cho từng đơn đã điền sẵn số tiền và nội dung. Khách chỉ quét và bấm chuyển. Muốn huỷ đơn thì huỷ luôn mã QR qua API, khách quét mã cũ sẽ không chuyển được.

Dashboard đối chiếu

Mọi giao dịch vào ACB hiện trong dashboard my.monapay.vn kèm trạng thái webhook đã gửi thành công hay chưa, lọc theo ngày, xuất CSV cho kế toán. Nhân viên không cần cầm điện thoại ngân hàng nữa.

MONA Pay là API ngân hàng và dịch vụ xác nhận thanh toán tự động của The MONA Group, giúp doanh nghiệp Việt Nam nhận và xác nhận tiền chuyển khoản theo thời gian thực qua tài khoản ảo (VA), VietQR, webhook và Telegram, thiết kế để cả lập trình viên lẫn AI agent tích hợp trong vài phút.

Hệ thống MONA tự xây để thu tiền cho chính mình, rồi từ 2022 tới nay khách hàng của MONA đã thu tiền qua đây trong web, phần mềm MONA giao. Năm 2026 mở cho mọi doanh nghiệp, miễn phí 500 giao dịch mỗi tháng. Đứng sau là The MONA Group, thành lập 2016, 14.000+ dự án, 85% khách quay lại làm tiếp. Có chuyện gì, gọi thẳng tổng đài 1900 636 648, có người trực.

Hỏi đáp

Chủ shop hay hỏi đội MONA

Chưa thấy câu của bạn? Gọi đội MONA1900 636 648
Plugin WooCommerce chuyển khoản ngân hàng có mất phí không?

MONA Pay thu 0% trên giá trị chuyển khoản và miễn phí 500 giao dịch mỗi tháng. Shop xem các gói theo số giao dịch tại trang bảng giá trước khi chạy thật.

Chưa nối ngân hàng có thử plugin được không?

Được. Bật Chế độ thử trong cài đặt plugin để đi hết luồng từ checkout, trang VietQR tới lúc đơn đổi trạng thái. Chế độ này không chuyển tiền thật; chạy ổn rồi mới nối tài khoản ngân hàng.

Tiền của shop có đi qua MONA Pay không?

Không. Khách chuyển thẳng vào tài khoản ACB của bạn. MONA Pay chỉ nhận thông báo từ ngân hàng rằng có giao dịch vào, rồi báo lại cho web. Không có ví trung gian, không có chuyện rút tiền về sau, không có phí trên từng giao dịch kiểu cổng thẻ.

Đã có plugin cài lên WooCommerce chưa?

Có. Plugin "MONA Pay for WooCommerce" hiện ở bản 0.3.2, tải file zip mới nhất tại https://wordpress.org/plugins/mona-pay-for-woocommerce/ rồi cài trong WordPress (Plugins → Thêm mới → Tải plugin lên); bản nộp kho wordpress.org đang chờ duyệt. Khách làm web tại MONA thì đội kỹ thuật MONA cài sẵn khi bàn giao; dev của bạn cũng có thể dán đoạn PHP mẫu trên trang này nếu không muốn cài plugin.

Khách chuyển thiếu tiền hoặc gõ sai nội dung thì sao?

Đoạn code mẫu chỉ xác nhận khi số tiền nhận được lớn hơn hoặc bằng tổng đơn và nội dung có đúng mã đơn. Trường hợp còn lại, giao dịch vẫn nằm trong dashboard MONA Pay với đầy đủ số tiền, nội dung, thời gian để nhân viên đối chiếu tay, không mất dấu.

Web bị sập đúng lúc khách chuyển thì có mất giao dịch không?

Không mất. MONA Pay ghi lại từng lần gửi webhook kèm kết quả (mã HTTP, thời gian phản hồi, nhãn lỗi). Web trả về 200/201/202 trong 10 giây mới tính thành công; lỗi thì bạn vào Webhooks, mục Lịch sử, bấm gửi lại. Lịch gửi lại tự động tối đa 7 lần đang được triển khai và sẽ công bố tại trang tài liệu khi lên.

Nhiều khách chuyển cùng số tiền cùng lúc, web có xác nhận nhầm đơn không?

Không, vì web khớp đơn theo mã đơn trong nội dung chuyển khoản (DH1234), không khớp theo số tiền. Muốn chắc hơn nữa, bạn cấp mỗi đơn 1 tài khoản ảo (VA) riêng: tiền vào VA nào là biết đơn nào, kể cả khi khách quên gõ nội dung.

Dùng WooCommerce cho 1 shop nhỏ, 50 đơn/tháng thì tốn bao nhiêu?

MONA Pay miễn phí 500 giao dịch mỗi tháng, đủ tính năng: VA, VietQR, webhook, Telegram và dashboard. Shop 50 đơn mỗi tháng nằm trong hạn mức miễn phí; số giao dịch cao hơn xem gói phù hợp tại trang bảng giá.

Cần điều kiện gì để bắt đầu?

Một tài khoản ACB đứng tên bạn hoặc công ty, số điện thoại đã đăng ký với ACB để nhận OTP, và 1 website WooCommerce có HTTPS. Đăng ký tài khoản MONA Pay tại my.monapay.vn là dùng ngay, không cần ai duyệt.

Bắt đầu với MONA Pay

Nối ngân hàng hôm nay để đơn chuyển khoản tự xác nhận

Tạo tài khoản là dùng ngay, miễn phí 500 giao dịch mỗi tháng. Muốn thử trước thì sandbox tạo giao dịch tiền vào giả, không tốn tiền thật.