hóa đơn điện tử và chữ ký số
trong sepay không có chữ ký số ak và hóa đơn điện tử ak
Không anh ạ, SePay không tích hợp sẵn chữ ký số (HSM) và hóa đơn điện tử. Bản chất của SePay chỉ là một Cổng toán tự động (Payment Gateway). Nhiệm vụ duy nhất của SePay là:
Quét biến động số dư tài khoản ngân hàng của anh.
Khi thấy có tiền vào, nó sẽ bắn dữ liệu (Webhook) về máy chủ Python của anh để code tự động duyệt đơn hàng.
SePay hoàn toàn không có chức năng kết nối với Cục Thuế, không phát hành hóa đơn và không cung cấp chữ ký số.
Vậy anh phải làm thế nào để có Hóa đơn điện tử và Chữ ký số?
Anh cần dùng kết hợp 3 bên độc lập với nhau theo sơ đồ vận hành dưới đây để hệ thống chạy tự động hoàn toàn:
Bên thu tiền (SePay): Lo việc nhận diện khách chuyển khoản thành công và báo về cho web của anh.
Bên trung gian lưu trữ (Web Python Flask của anh): Nhận thông báo từ SePay Lưu trạng thái vé đã thanh toán vào Database Lập tức dùng code gửi lệnh (gọi API) sang bên hệ thống Hóa đơn điện tử.
Bên phát hành hóa đơn (Nhà cung cấp hóa đơn điện tử + Chữ ký số): Anh phải mua dịch vụ của một bên thứ ba được Bộ Tài chính cấp phép (gọi là bên T-VAN) như MISA (MeInvoice), Viettel (SInvoice), hoặc VNPT.
Quy trình chuẩn bị thực tế cho anh:
Bước 1: Anh liên hệ với một nhà cung cấp hóa đơn (khuyên dùng MISA hoặc Viettel vì tài liệu API của họ rất tốt cho lập trình viên Python). Mua một gói số lượng hóa đơn (ví dụ: 1.000 tờ) và nhờ họ đăng ký ký hiệu, mẫu hóa đơn với Cục Thuế.
Bước 2: Mua thêm một Chữ ký số HSM (hoặc Cloud/Remote Signing) của chính bên đó luôn. Chữ ký số này sẽ được cài thẳng lên hệ thống máy chủ hóa đơn của họ. Khi code Python của anh ra lệnh xuất hóa đơn, hệ thống sẽ tự động lấy chữ ký số này ra ký điện tử ngay trong 1 giây mà anh không cần phải cắm USB Token hay bấm mật khẩu bằng tay.
Bước 3: Xin họ tài liệu hướng dẫn kết nối API (API Document) và thông tin tài khoản kết nối (API Key, Secret). Sau đó, viết thêm một hàm gọi API trong file
app.pyngay tại đoạn Webhook nhận tiền thành công là xong!

