AzoPay
Tất cả bài viết
Kiến thứcAPI ngân hàngWebhookThanh toán tự động

API ngân hàng và Webhook là gì? Giải thích dễ hiểu

API ngân hàng và webhook là gì, hoạt động ra sao để website tự động biết bạn vừa nhận tiền chuyển khoản — giải thích đơn giản, kèm lưu ý an toàn.

07 tháng 6, 20264 phút đọcbởi AzoPay
Mục lục

Khi nói về tự động xác nhận chuyển khoản, hai cụm từ luôn xuất hiện: API ngân hàngwebhook. Nghe có vẻ kỹ thuật, nhưng ý tưởng đằng sau khá đơn giản. Bài này giải thích bằng ngôn ngữ dễ hiểu, để bạn — kể cả không phải dân lập trình — nắm được hệ thống "tự biết bạn vừa nhận tiền" như thế nào.

1. API ngân hàng là gì?

API (Application Programming Interface) là cách để hai phần mềm "nói chuyện" với nhau theo một quy tắc thống nhất. API ngân hàng là kênh chính thức để phần mềm bên ngoài truy vấn hoặc nhận thông tin từ hệ thống ngân hàng — ví dụ: kiểm tra số dư, lấy danh sách giao dịch gần đây.

Hình dung đơn giản: thay vì bạn tự mở app ngân hàng xem có giao dịch mới không, phần mềm sẽ "hỏi" ngân hàng giúp bạn theo cách tự động và có cấu trúc.

Có hai kiểu lấy thông tin giao dịch thường gặp:

  • Hỏi định kỳ (polling): phần mềm cứ vài giây lại hỏi ngân hàng "có giao dịch mới không?". Đơn giản nhưng có độ trễ và tốn tài nguyên.
  • Được báo ngay khi có (webhook): ngân hàng/hệ thống chủ động báo về ngay khi có giao dịch. Nhanh hơn, hiệu quả hơn. Đây là phần tiếp theo.

2. Webhook là gì?

Webhook là cơ chế "báo ngay khi có sự kiện". Thay vì bạn liên tục đi hỏi, hệ thống sẽ tự gửi một thông báo đến địa chỉ bạn đăng ký ngay khi sự kiện xảy ra.

Ví dụ dễ hình dung: thay vì cứ 5 phút bạn ra hộp thư xem có thư chưa, người đưa thư bấm chuông nhà bạn ngay khi có thư. Webhook chính là "tiếng chuông" đó cho phần mềm.

Trong ngữ cảnh thanh toán: ngay khi tài khoản ngân hàng có tiền vào, một thông báo (webhook) chứa thông tin giao dịch — số tiền, nội dung, thời gian — được gửi tới hệ thống xử lý. Hệ thống đối chiếu với đơn hàng đang chờ và cập nhật trạng thái "đã thanh toán".

3. Luồng hoạt động khi khách chuyển khoản

Ghép lại, một giao dịch tự động đi qua các bước sau:

  1. Khách chuyển khoản vào tài khoản ngân hàng của người bán (thường quét mã VietQR đã điền sẵn số tiền + nội dung).
  2. Ngân hàng ghi nhận tiền vào.
  3. Thông tin giao dịch được đưa ra qua API/webhook ngân hàng.
  4. Phần mềm xác thực đối chiếu giao dịch: so khớp số tiền và nội dung với đơn hàng đang chờ.
  5. Báo kết quả về website/hệ thống của người bán: đơn được tự động chuyển sang "đã thanh toán".
  6. Website xử lý tiếp: giao hàng số tự động, gửi email xác nhận, cập nhật kho...

Toàn bộ chuỗi này thường diễn ra trong vài giây đến vài chục giây, tuỳ tốc độ xử lý của ngân hàng — không cần ai mở app ngân hàng kiểm tra thủ công.

4. Điểm mấu chốt: tiền đi đâu?

Đây là điều nhiều người hiểu nhầm. Trong mô hình đọc giao dịch qua API/webhook ngân hàng:

  • Tiền của khách chuyển thẳng vào tài khoản ngân hàng của người bán, y như chuyển khoản thông thường.
  • Lớp phần mềm xác thực chỉ đọc thông tin giao dịch để đối chiếu, không cầm giữ dòng tiền.

Đây là điểm khác biệt về mặt vận hành so với một số mô hình mà tiền đi qua tài khoản của bên thứ ba rồi mới về tài khoản người bán. Khi chọn giải pháp, bạn nên hỏi rõ nhà cung cấp: tiền chuyển vào đâu, ai cầm giữ dòng tiền — để đánh giá đúng về vận hành.

5. Những lưu ý an toàn khi dùng API/webhook

API ngân hàng đụng tới dữ liệu nhạy cảm, nên hãy chú ý:

  • Chọn nhà cung cấp minh bạch về việc họ truy cập dữ liệu gì, tiền có đi qua họ không.
  • Webhook phải được xác thực: hệ thống nhận webhook cần kiểm tra chữ ký/nguồn gốc để chống giả mạo thông báo "đã nhận tiền".
  • Nguyên tắc dữ liệu tối thiểu: chỉ đọc những gì cần để đối chiếu, không thu thập thừa.
  • Phân quyền và bảo mật khoá: khoá tích hợp (API key) phải được giữ kín, không lộ ra mã nguồn công khai.

6. AzoPay đứng ở đâu trong bức tranh này

AzoPay là lớp phần mềm đọc và đối chiếu giao dịch trong sơ đồ trên. Khi tài khoản ngân hàng của bạn nhận tiền, AzoPay đọc thông tin giao dịch qua API/webhook ngân hàng, đối chiếu với đơn hàng và báo kết quả về hệ thống của bạn.

Đúng tinh thần ở mục 4: tiền của khách chuyển thẳng vào tài khoản ngân hàng của bạn, không đi qua AzoPay — AzoPay không cầm giữ dòng tiền. Vai trò của AzoPay là đọc giao dịch và tự động hóa khâu xác nhận, để bạn khỏi soi sao kê thủ công.

Muốn xem các cách tự động xác nhận chuyển khoản và nên chọn cách nào, đọc bài Tự động xác nhận chuyển khoản cho website bán hàng.

Hỏi AI về bài viết này

Mở một trợ lý AI với câu hỏi đã điền sẵn kèm liên kết bài, để hỏi sâu thêm về chủ đề.

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

API ngân hàng là gì?

API ngân hàng là kênh chính thức để phần mềm bên ngoài truy vấn hoặc nhận thông tin từ hệ thống ngân hàng một cách tự động và có cấu trúc, ví dụ kiểm tra số dư hoặc lấy danh sách giao dịch gần đây — thay vì phải tự mở app ngân hàng kiểm tra thủ công.

Webhook khác gì với việc hỏi định kỳ (polling)?

Polling là phần mềm liên tục đi hỏi ngân hàng có giao dịch mới không, có độ trễ và tốn tài nguyên. Webhook thì ngược lại: ngân hàng/hệ thống chủ động báo về ngay khi có giao dịch, nên nhanh và hiệu quả hơn.

Dùng API ngân hàng thì tiền của tôi có bị bên thứ ba giữ không?

Với mô hình đọc giao dịch qua API/webhook, tiền khách chuyển vào thẳng tài khoản ngân hàng của bạn; lớp phần mềm chỉ đọc thông tin giao dịch để đối chiếu, không cầm giữ dòng tiền. Khi chọn nhà cung cấp, bạn nên hỏi rõ tiền chuyển vào đâu và ai cầm giữ dòng tiền.