Skip to main content

Redirect kết quả giao dịch Deep Link

Sau khi người dùng hoàn tất thao tác trên ứng dụng ngân hàng, hệ thống Tingee sẽ tự động chuyển hướng người dùng quay trở lại ứng dụng hoặc website của đối tác kèm theo thông tin kết quả giao dịch.

Hệ thống Tingee sẽ append kết quả giao dịch trực tiếp vào redirectUrl dưới dạng Query String.

Query Parameters

Các tham số được đính kèm vào URL chuyển hướng.

Tham sốKiểuMô tả
amountnumberSố tiền giao dịch thực tế.
bankNamestringTên ngân hàng nhận.
bankBinstringMã BIN ngân hàng nhận.
accountNumberstringSố tài khoản người nhận.
contentstringNội dung chuyển khoản.
deepLinkStatusstringTrạng thái (Success hoặc Failed).
transactionDatelongThời gian giao dịch (Timestamp ms).
clientIdstringClient ID của đối tác.
signaturestringChữ ký xác thực HMAC SHA512 đảm bảo dữ liệu không bị thay đổi.

Quy tắc xác thực

Để đảm bảo an toàn, đối tác phải kiểm tra chữ ký signature nhận được. Chữ ký này được tạo bằng cách ký HMAC SHA512 của "toàn bộ các tham số (trừ signature) được sắp xếp theo bảng chữ cái" với secretKey.

Ví dụ mã nguồn xác thực

import { createHmac } from 'crypto';

function verifySignature(query: any, secretKey: string): boolean {
const { signature, ...data } = query;

// Sắp xếp các key theo alphabet
const sortedKeys = Object.keys(data).sort();
const canonicalString = sortedKeys
.map(key => `${key}=${data[key]}`)
.join('&');

const computedSig = createHmac('sha512', secretKey)
.update(canonicalString)
.digest('hex');

return computedSig === signature;
}

Ví dụ URL Redirect

Hệ thống sẽ chuyển hướng người dùng về địa chỉ sau:

https://partner.vn/callback?amount=100000&bankBin=970422&deepLinkStatus=Success&signature=91a2a8b7d...

Ghi chú quan trọng
  • Nếu redirectUrl ban đầu của bạn đã có sẵn query string, Tingee sẽ tự động thêm dấu & để không làm hỏng cấu trúc URL cũ của bạn.
  • Luôn kiểm tra trường deepLinkStatus để biết giao dịch thành công hay thất bại trước khi xử lý nghiệp vụ tiếp theo.
  • Khuyến cáo log lại toàn bộ URL callback để phục vụ việc tra soát (audit) khi cần thiết.