Bảo mật
1. Hướng dẫn tạo signature API Tạo hoá đơn thanh toán
Ví dụ tham số truyền lên API
{
"billCode": "60586f8d6a684",
"billInfo": "Thanh toán hóa đơn",
"serviceCode": "GAME",
"customerName": "NGUYEN VAN A",
"notifyUrl": "https://yourdomain.com/ipn",
"amount": 50000,
"billExpiryTime": 1616818154,
"paymentCondition": "NO",
"bankCode": "WOORIBANK",
"signature": "abc123"
}
Thứ tự các tham số để tạo ra signature
sẽ được sort theo thứ tự alphabet
Các trường được ký bao gồm (billCode
+ billInfo
+ serviceCode
+ customerName
+ notifyUrl
+ amount
+ billExpiryTime
+ paymentCondition
+ bankCode
)
Chuỗi được tạo ra với các tham số trên sẽ là:
"amount=50000&bankCode=WOORIBANK&billCode=60586f8d6a684&billExpiryTime=1616818154&billInfo=Thanh toán hóa đơn&customerName=NGUYEN VAN A¬ifyUrl=https://yourdomain.com/ipn&paymentCondition=NO&serviceCode=GAME"
signature = HMAC_SHA256("amount=50000&bankCode=WOORIBANK&billCode=60586f8d6a684&billExpiryTime=1616818154&billInfo=Thanh toán hóa đơn&customerName=NGUYEN VAN A¬ifyUrl=https://yourdomain.com/ipn&paymentCondition=NO&serviceCode=GAME", YOUR_SECRET_KEY)
Ví dụ tham số trả về của API
{
"errorCode": 0,
"message": "Thành công",
"billCode": "60586f8d6a684",
"payment": {
"bankAccounts": [{
"bankCode": "WOORIBANK",
"bankName": "WOORIBANK",
"bankBranch": "",
"accountNo": "902000225675",
"accountName": "VAP001 PHAM MINH TUAN"
}]
},
"signature": "07a0127c496a24e1a72e5eb123da1e7bc603bbf444babc41fde20 63e5438a89f"
}
Thứ tự các tham số để tạo ra signature
sẽ được sort theo thứ tự alphabet
Các trường được ký bao gồm (errorCode
+ billCode
+ json_encode(payment)
)
Chuỗi được tạo ra với các tham số trên sẽ là:
"billCode=60586f8d6a684&errorCode=0&payment={"bankAccounts":[{"bankCode":"WOORIBANK","bankName":"WOORIBANK","bankBranch":"","accountNo":"902000225675","accountName":"VAP001 PHAM MINH TUAN"}]}"
signature = HMAC_SHA256("billCode=60586f8d6a684&errorCode=0&payment={"bankAccounts":[{"bankCode":"WOORIBANK","bankName":"WOORIBANK","bankBranch":"","accountNo":"902000225675","accountName":"VAP001 PHAM MINH TUAN"}]}", YOUR_SECRET_KEY)
2. Hướng dẫn tạo signature API Chi tiết hoá đơn
Ví dụ tham số trả về của API
{
"errorCode": 0,
"message": "Thành công",
"billCode":"605823cdc67f4",
"amount":50000,
"paidAmount":0,
"billExpiryTime":1616818154,
"payment": {
"bankAccounts": [{
"bankCode": "WOORIBANK",
"bankName": "WOORIBANK",
"accountNo": "902000225811",
"accountName": "AP NGUYEN VAN A",
"bankBranch": "",
"status": "active"
}]
},
"signature": "73c600b139fcd08eecf811d1c5869504d039f1ed8b320ede614ab0 9469c4a44b"
}
Thứ tự các tham số để tạo ra signature
sẽ được sort theo thứ tự alphabet
Các trường được ký bao gồm (amount
+ billCode
+ billExpiryTime
+ errorCode
+ paidAmount
+ json_encode(payment)
)
Chuỗi được tạo ra với các tham số trên sẽ là:
"amount=50000&billCode=605823cdc67f4&billExpiryTime=1616818154&errorCode=0&paidAmount=0&payment={"bankAccounts":[{"bankCode":"WOORIBANK","bankName":"WOORIBANK","bankBranch":"","accountNo":"902000225675","accountName":"VAP001 PHAM MINH TUAN"}]}"
signature = HMAC_SHA256("amount=50000&billCode=605823cdc67f4&billExpiryTime=1616818154&errorCode=0&paidAmount=0&payment={"bankAccounts":[{"bankCode":"WOORIBANK","bankName":"WOORIBANK","bankBranch":"","accountNo":"902000225675","accountName":"VAP001 PHAM MINH TUAN"}]}", YOUR_SECRET_KEY)