Developer

Xác thực API popup

✧ Mở bằng AI

Sao chép tài liệu, mở AI rồi dán vào cuộc trò chuyện.

ChatGPTClaudePerplexityGrok
≡ Xem Markdown

Chỉ gọi API này từ backend. Dùng partnerCode, accessKey, secretKey hiện có của tài khoản hoặc cửa hàng. Không đặt secret trong trình duyệt, URL, log hay mã nguồn công khai.

Header bắt buộc

Header Giá trị
Content-Type application/json
X-Pay2S-Partner partnerCode
X-Pay2S-Access-Key accessKey của tài khoản/cửa hàng
X-Pay2S-Timestamp Unix timestamp theo giây, lệch tối đa 300 giây
X-Pay2S-Signature HMAC SHA256 dạng hex chữ thường

Chuỗi ký gồm ba dòng, nối bằng ký tự LF (\n), không thêm dòng trống cuối:

pay2s-card-popup-v1
<timestamp>
<SHA256 của nguyên văn body JSON UTF-8>
import crypto from 'node:crypto';
const body = JSON.stringify(payload);
const timestamp = String(Math.floor(Date.now() / 1000));
const digest = crypto.createHash('sha256').update(body).digest('hex');
const signature = crypto.createHmac('sha256', process.env.PAY2S_SECRET_KEY)
  .update('pay2s-card-popup-v1\n' + timestamp + '\n' + digest)
  .digest('hex');

Gửi đúng chuỗi body đã ký. Đổi khoảng trắng, thứ tự khóa hoặc kiểu số sau khi ký làm chữ ký không còn khớp. Đồng bộ giờ server.

Khóa cửa hàng tự xác định phạm vi cửa hàng. Không có tham số cho phép chọn user_id, store_id hoặc merchant ePay của tài khoản khác. API backend không mở CORS để gọi bằng secret từ browser.

Mở Playground · Tạo phiên

Tìm trong 95 trang tài liệu · Esc để đóng