Cổng thanh toán SePay là gì?
Cổng thanh toán SePay cho phép doanh nghiệp và lập trình viên tích hợp nhiều phương thức thanh toán vào website hoặc ứng dụng chỉ với một lần tích hợp, không cần kết nối riêng với từng ngân hàng hay tổ chức thẻ.
SePay đóng vai trò trung gian giữa website/ứng dụng của bạn với hệ thống ngân hàng, mạng thẻ quốc tế và cổng NAPAS, xử lý toàn bộ luồng thanh toán từ khởi tạo đơn hàng đến xác nhận giao dịch.
- QR chuyển khoản ngân hàng (VietQR): kích hoạt online trong ~30 phút, nhận thanh toán ngay sau khi hoàn tất cài đặt.
- Cổng NAPAS (VietQRPay) & thẻ tín dụng/ghi nợ quốc tế: thời gian duyệt 3-5 ngày đến 2 tuần tùy hồ sơ đơn vị bán hàng, liên hệ bộ phận kinh doanh để biết chi tiết.
Trong thời gian chờ duyệt Production, bạn có thể đăng ký và thử ngay trên môi trường Sandbox để hoàn thiện tích hợp. Đăng ký tại my.sepay.vn.
Phương thức thanh toán được hỗ trợ
Cổng thanh toán SePay hỗ trợ ba nhóm phương thức thanh toán chính:
Khách hàng quét mã QR VietQR bằng ứng dụng ngân hàng để chuyển tiền trực tiếp vào tài khoản của bạn. Tiền về tài khoản ngân hàng mà không qua bất kỳ ví trung gian nào. Hỗ trợ tài khoản cá nhân và doanh nghiệp, xác nhận giao dịch tự động theo thời gian thực, phí cố định theo giao dịch.
Cổng thanh toán QR theo chuẩn NAPAS, SePay là đối tác ủy quyền chính thức của NAPAS. Sử dụng công nghệ VietQRPay và VietQRGlobal. Tiền về ngân hàng theo thời gian thực, dòng tiền nguyên vẹn, dễ đối soát.
Chấp nhận thanh toán bằng thẻ Visa, Mastercard và JCB. Sản phẩm hợp tác giữa SePay, VPBank và MPGS của Mastercard. Hỗ trợ thẻ tín dụng và thẻ ghi nợ quốc tế, bảo mật theo chuẩn 3D Secure.
Tính năng chính
Cổng thanh toán SePay được xây dựng để giải quyết các bài toán thanh toán phổ biến của doanh nghiệp Việt Nam:
Tích hợp một lần duy nhất qua API hoặc SDK để tiếp nhận thanh toán từ nhiều phương thức khác nhau. Không cần ký hợp đồng riêng với từng ngân hàng.
Khi có giao dịch thành công, SePay tự động gửi thông báo đến endpoint IPN của bạn theo thời gian thực, giúp hệ thống tự động xác nhận đơn hàng mà không cần người dùng thao tác thêm.
Tùy chỉnh URL để điều hướng khách hàng sau khi thanh toán thành công, thất bại hoặc hủy bỏ, phù hợp với luồng trải nghiệm của từng hệ thống.
SePay cung cấp webhook thông báo biến động số dư, cho phép lập trình viên tự xây dựng cổng thanh toán tùy chỉnh cho website mà không phụ thuộc vào form thanh toán mặc định.
Toàn bộ tính năng đều có thể kiểm thử trên môi trường Sandbox trước khi đưa vào production, đảm bảo tích hợp chính xác mà không ảnh hưởng đến giao dịch thật.
Đăng ký và kích hoạt cổng thanh toán hoàn toàn online, không cần giấy tờ phức tạp. Với VietQR, bạn có thể bắt đầu nhận tiền chỉ sau khoảng 30 phút.
Thanh toán thẻ tuân thủ chuẩn 3D Secure (3DS) và PCI DSS thông qua đối tác MPGS của Mastercard. Mọi giao dịch đều được mã hoá và xác thực trước khi xử lý.
SePay là đối tác ủy quyền của NAPAS, đảm bảo tuân thủ chuẩn kỹ thuật và pháp lý của hệ thống thanh toán quốc gia.
Cách tích hợp cổng thanh toán SePay
Cổng thanh toán SePay phục vụ nhiều nhu cầu tích hợp, từ lập trình viên tự build bằng API đến người dùng không code:
Lập trình viên tích hợp trực tiếp qua RESTful API của SePay, toàn quyền tùy biến giao diện thanh toán, phù hợp với hệ thống tùy chỉnh, ứng dụng di động hoặc kiến trúc SaaS multi-tenant.
SePay cung cấp SDK chính thức cho PHP và Node.js, giúp rút ngắn thời gian tích hợp. Phù hợp với đội backend muốn thư viện sẵn sàng thay vì tự xử lý chữ ký, gửi lại và bắt lỗi.
Cửa hàng TMĐT chạy trên WordPress/WooCommerce, Haravan có thể cài plugin chính thức và cấu hình merchant_id/secret_key, không cần viết code.
Cá nhân, cửa hàng nhỏ hoặc freelancer không muốn code có thể tạo QR payment link trực tiếp tại my.sepay.vn và gửi link cho khách hàng để nhận thanh toán.
Nếu bạn là cá nhân hoặc doanh nghiệp nhỏ, hãy bắt đầu với QR chuyển khoản ngân hàng (VietQR): kích hoạt nhanh nhất, phí thấp nhất. Thanh toán thẻ quốc tế và cổng NAPAS phù hợp hơn cho doanh nghiệp có nhu cầu lớn hoặc phục vụ khách hàng quốc tế.
Luồng thanh toán
Ở cấp độ nghiệp vụ, một giao dịch qua SePay trải qua 5 bước chính: từ khi khách hàng bấm "Thanh toán" cho đến khi đơn vị bán hàng ghi nhận đơn hàng thành công:
-
Khách hàng chọn thanh toán: Trên website/app của đơn vị bán hàng, khách hàng chọn sản phẩm và bấm nút thanh toán.
-
Đơn vị bán hàng tạo đơn hàng: Hệ thống của đơn vị bán hàng khởi tạo đơn hàng trên SePay với số tiền, mô tả và URL callback; nhận lại link thanh toán hoặc mã QR.
-
Khách hàng thực hiện thanh toán: Khách hàng chọn phương thức (QR VietQR, QR NAPAS, hoặc thẻ quốc tế) và hoàn tất giao dịch.
-
Ngân hàng / NAPAS xác nhận: Giao dịch được xử lý và xác nhận bởi ngân hàng phát hành hoặc cổng NAPAS.
-
Đơn vị bán hàng cập nhật đơn hàng qua IPN: SePay gửi IPN webhook đến endpoint của đơn vị bán hàng để cập nhật trạng thái đơn hàng tự động. Khách hàng được chuyển hướng về
return_urlđể xem kết quả.
Tài liệu này mô tả luồng ở cấp độ nghiệp vụ. Để xem sequence diagram các API call cụ thể (endpoint, payload, chữ ký, flow checkout/init), vui lòng xem Tạo đơn hàng, Tạo form thanh toán.
Không nên chỉ dựa vào return_url để xác nhận đơn hàng vì khách hàng có thể đóng trình duyệt trước khi được chuyển hướng. Luôn dùng IPN Webhook để cập nhật trạng thái đơn hàng phía server.
Môi trường
| Môi trường | Base URL |
|---|---|
| Production | https://pgapi.sepay.vn |
| Sandbox | https://pgapi-sandbox.sepay.vn |
Xác thực bằng Basic Auth: Authorization: Basic base64(merchant_id:secret_key)
Nếu bạn mới bắt đầu, hãy thử nghiệm trên Sandbox trước khi chuyển sang Production. Cách lấy thông tin Sandbox, trỏ tích hợp và dữ liệu cách ly có trong Sandbox Cổng Thanh Toán SePay.
Bước tiếp theo
Sau khi đã hiểu về Cổng thanh toán SePay:
- Bắt đầu tích hợp: Hướng dẫn từng bước để tích hợp cổng thanh toán vào website hoặc ứng dụng của bạn
- Xác thực API: Tìm hiểu cách xác thực với API SePay và các base URL cho Sandbox và Production
Hãy bắt đầu bằng môi trường Sandbox để kiểm thử tích hợp mà không ảnh hưởng đến giao dịch thật, không cần ngân hàng thật. Xem Sandbox Cổng Thanh Toán SePay.