Tino Developers
POST/service/@id/tinopay/sapo-integrations

Tạo tích hợp Sapo

Khách chuyển khoản với nội dung chứa mã đơn (tiền tố + số đơn Sapo, ví dụ TNG1002 ứng với đơn #1002): đủ hoặc dư tiền thì TinoPay ghi nhận đơn đã thanh toán trên Sapo. Body: name (≤ 100 ký tự), store_url (tên miền .mysapo.net của cửa hàng, không nhận tên miền riêng), api_key, api_secret (ứng dụng riêng trên Sapo, quyền đọc và ghi đơn hàng, giao dịch), bank_account_id, virtual_account (bắt buộc với BIDV), order_prefix (2–5 chữ hoặc số; chưa có trong cấu trúc mã thanh toán thì TinoPay tự thêm mẫu hậu tố 1–12 chữ số), transaction (kind, source_name, status), status. TinoPay thử kết nối Sapo trước khi lưu; không được thì 422 SAPO_CONNECTION_FAILED, không tạo gì. Dán snippet trả về vào Sapo Admin → Cấu hình → Trang thanh toán → Nội dung thông báo thêm.

API merchant · Cập nhật 22/10/2026Xem .md

Route của dịch vụ TinoPay: gọi bằng token đăng nhập của chủ dịch vụ; gateway /v1 (token ứng dụng, token cá nhân) chưa mở TinoPay. Xem Bắt đầu với TinoPay.

Xác thực

Gửi token trong header Authorization:

Authorization: Bearer <token>

Token gọi được: token đăng nhập của chủ dịch vụ TinoPay (token khu vực khách hàng tino.vn).

Tham số

Tham số đường dẫn

TênKiểuYêu cầuMô tả
idintBắt buộcID dịch vụ TinoPay

Body (JSON)

TênKiểuYêu cầuMô tả
namestringBắt buộc≤ 100
store_urlstringBắt buộc<tên-cửa-hàng>.mysapo.net (tên miền riêng không nhận)
api_keystringBắt buộc—
api_secretstringBắt buộc—
bank_account_idstringBắt buộc—
virtual_accountstring—Bắt buộc với BIDV
order_prefixstringBắt buộc2–5 chữ/số
transactionarray——
statusstring—active | inactive

Phản hồi

Mẫu dựng theo tài liệu TinoPay API v1 (Tino chuyển tiếp nguyên dữ liệu TinoPay), giá trị là ví dụ.

Mã lỗi

Mã lỗiMô tả
404 · service_not_found, invalid methodDịch vụ không phải của tài khoản đang đăng nhập, hoặc không phải TinoPay.
403 · service_not_activeDịch vụ không ở trạng thái Active hoặc Suspended.
403 · MERCHANT_SUSPENDEDMerchant đang tạm ngưng: chặn thao tác ghi, GET vẫn dùng được.
404 · RESOURCE_NOT_FOUNDTài nguyên không có hoặc không thuộc merchant.
422 · VALIDATION_FAILEDDữ liệu sai; details liệt kê theo trường.
502 · NETWORK_ERROR…, 504Kết nối giữa Tino và đối tác gián đoạn (504: body HTML, request quá lâu): lỗi phía Tino, không phải lỗi token. Đừng xoá token, thử lại sau.

Lỗi có dạng {"error": ["<CODE>"], "message", "details", "request_id"}; mọi mã lỗi ở Bắt đầu với TinoPay.