Tích hợp SePay vào Telegram: Báo tiền về sau 2s (Free)
👋 Chào các bạn!
Việc check app ngân hàng liên tục mỗi khi có đơn hàng khiến mình rất mất thời gian. Bài viết này mình sẽ hướng dẫn các bạn cách tạo một con Bot Telegram tự động báo tin nhắn ngay lập tức khi khách chuyển khoản qua mã QR SePay. Đặc biệt là cách này hoàn toàn miễn phí, sử dụng Google Apps Script chứ không cần thuê VPS phức tạp.
1Tại sao nên đẩy thông báo về Telegram?
So với Email hay thông báo App ngân hàng, Telegram có ưu điểm vượt trội:
- Tốc độ tức thì: Tiền vào tài khoản -> Bot báo ting ting sau 2 giây.
- Quản lý nhóm: Bạn có thể add Bot vào nhóm kín để cả nhân viên sales và kế toán cùng nhận thông báo mà không cần chia sẻ mật khẩu ngân hàng.
- Bảo mật: Dữ liệu được mã hóa, an toàn tuyệt đối.
2Chuẩn bị nguyên liệu
Để thực hiện tut này, bạn cần có:
- Tài khoản SePay (Đã kết nối ngân hàng).
- Tài khoản Telegram.
- Tài khoản Google (Gmail) để dùng Google Apps Script.
3Bước 1: Khởi tạo Bot Telegram
Đầu tiên, chúng ta cần xin phép "Cha đẻ các Bot" để tạo một trợ lý ảo.
- Mở Telegram, tìm từ khóa
@BotFather. - Gõ lệnh
/newbotvà làm theo hướng dẫn (Đặt tên Bot, tạo Username). - Sau khi thành công, BotFather sẽ cấp cho bạn một HTTP API Token (Dãy ký tự dài). Hãy lưu nó lại cẩn thận.
Chat ID của bạn hoặc Group bạn muốn nhận thông báo. Cách đơn giản nhất là chat với bot @userinfobot để lấy ID.
4Bước 2: Viết mã xử lý (Google Apps Script)
Đây là phần "linh hồn" của hệ thống. Chúng ta sẽ dùng Google Apps Script để nhận dữ liệu từ SePay và chuyển tiếp nó sang Telegram.
1. Truy cập script.google.com và bấm "Dự án mới".
2. Xóa hết code cũ và dán đoạn code dưới đây vào:
function doPost(e) {
try {
// 1. Nhận dữ liệu từ SePay gửi qua
var jsonString = e.postData.contents;
var data = JSON.parse(jsonString);
// 2. Kiểm tra xem có phải giao dịch thành công không
if (data.paymentStatus === 'Success') {
// 3. Cấu hình Bot Telegram của bạn (THAY ĐỔI Ở ĐÂY)
var botToken = 'THAY_TOKEN_BOT_CUA_BAN_VAO_DAY';
var chatId = 'THAY_CHAT_ID_CUA_BAN_VAO_DAY';
// 4. Soạn nội dung tin nhắn gửi đi
var message = '💰 NHẬN TIỀN THÀNH CÔNG!\n' +
'--------------------------------\n' +
'👤 Khách hàng: ' + data.transferContent + '\n' +
'💵 Số tiền: ' + formatCurrency(data.transferAmount) + ' VND\n' +
'🏦 Ngân hàng: ' + data.gateway + '\n' +
'⏰ Thời gian: ' + data.transactionDate + '\n' +
'--------------------------------\n' +
'✅ Trạng thái: Đã xác nhận';
// 5. Gửi sang Telegram
sendTelegramMessage(botToken, chatId, message);
}
return ContentService.createTextOutput("OK");
} catch (error) {
return ContentService.createTextOutput("Error: " + error.message);
}
}
// Hàm gửi tin nhắn Telegram
function sendTelegramMessage(token, chatId, text) {
var url = "https://api.telegram.org/bot" + token + "/sendMessage";
var payload = {
"chat_id": chatId,
"text": text,
"parse_mode": "HTML"
};
var options = {
"method": "post",
"payload": payload
};
UrlFetchApp.fetch(url, options);
}
// Hàm định dạng tiền tệ cho đẹp (Ví dụ: 100000 -> 100,000)
function formatCurrency(amount) {
return new Intl.NumberFormat('vi-VN').format(amount);
}
5Bước 3: Triển khai (Deploy) Web App
Sau khi dán code và điền Token/ChatID xong, bạn cần public nó lên mạng:
- Bấm nút Triển khai (Deploy) ở góc phải -> chọn Tùy chọn triển khai mới.
- Chọn loại: Ứng dụng web (Web App).
- Phần "Người có quyền truy cập" (Who has access): CHỌN "Bất kỳ ai" (Anyone). (Bước này cực quan trọng, nếu chọn sai SePay sẽ không gửi tin được).
- Bấm Triển khai và copy đường link Web App URL (Có đuôi `/exec`).
6Bước 4: Đấu nối vào SePay
Bước cuối cùng, chúng ta chỉ cho SePay biết địa chỉ nhà của con Bot vừa tạo.
- Đăng nhập vào trang quản trị my.sepay.vn.
- Vào mục Tích hợp (Integration) -> Webhook.
- Bấm Thêm Webhook.
- Dán đường link Web App URL (đã copy ở Bước 3) vào ô "Webhook URL".
- Phần sự kiện (Events): Tích chọn Payment Success.
- Bấm Lưu lại.
🚀 Bạn chưa có tài khoản SePay?
Đăng ký ngay để nhận ưu đãi miễn phí giao dịch trọn đời và hỗ trợ tích hợp Bot Telegram.
Đăng Ký SePay Miễn PhíNhập mã HQAGENCY để được giảm 15% khi nâng cấp.
7Test thử nghiệm
Bây giờ bạn hãy thử chuyển khoản 1.000đ - 2.000đ vào tài khoản ngân hàng đã kết nối SePay với nội dung chuyển khoản bất kỳ. Nếu sau 2-5 giây điện thoại ting ting tin nhắn từ Telegram Bot thì chúc mừng bạn, bạn đã build thành công hệ thống Automation xịn xò!
Nếu gặp khó khăn, đừng ngần ngại chat với đội ngũ Support hoặc xem thêm tài liệu tại Docs SePay.