模擬串接服務 - 查詢交易

經銷商『查詢交易』請求欄位
Id Name Description Type Additional Information
1 agent_uid 經銷商商務代號
string 必填
2 service 服務名稱
string 必填
{ "service_name": "api", "cmd": "api\/payoffinquirer" }
JSON格式,AES256加密資料
3 encry_data 『查詢交易』欄位資料 string 必填
『查詢交易』欄位參考
JSON格式,AES256加密資料
特約商店『查詢交易』請求欄位
Id Name Description Type Additional Information
1 store_uid 特約商店商務代號
string 必填
2 service 服務名稱
string 必填
{ "service_name": "api", "cmd": "api\/payoffinquirer" }
JSON格式,AES256加密資料
3 encry_data 『查詢交易』欄位資料 string 必填
『查詢交易』欄位參考
JSON格式,AES256加密資料
查詢交易』欄位
Id Name Description Type Additional Information
1 store_uid 特約商店商務代號 string 必填
2 group_id 批次撥款編號 string 必填
查詢交易』回傳欄位
Id Name Description Type Additional Information
1 code 執行狀態碼 string 『Pay Off 執行狀態碼』值參考
2 msg 執行狀態訊息 string
3 content 查詢交易細項資訊 object 『撥款交易細項資訊』欄位參考
Pay Off 執行狀態碼』 值內容
Value Description Type Additional Information
100 資料不正確 string
400 系統錯誤 string
B200 執行成功 string
B500 執行失敗 string
撥款交易細項資訊』欄位
Id Name Description Type Additional Information
1 uid 批次撥款UID string
2 key 驗証碼 string
3 code 批次撥款狀態碼 string 『Pay Off 撥款批次狀態碼』值參考
4 msg 批次撥款狀態碼說明 string
5 store_uid 特約商店商務代號 string
6 group_id 批次撥款編號 string
7 items 批次撥款內容 array 每筆『Pay Off 批次撥款項目』欄位參考
8 echo_0 自訂回傳參數 1 string
9 echo_1 自訂回傳參數 2 string
10 echo_2 自訂回傳參數 3 string
11 echo_3 自訂回傳參數 4 string
12 echo_4 自訂回傳參數 5 string
Pay Off 撥款批次狀態碼』 值內容
Value Description Type Additional Information
S01 等待放行 string
S03 執行批次撥款中 string
S04 全部撥款完成 string
S05 部分撥款完成 string
Pay Off 批次撥款項目』欄位
Id Name Description Type Additional Information
1 id 撥款代碼-本批次撥款項目編號(本批次唯一) string
2 user_id 收款人帳號 string
3 money 撥款金額 int
4 finished_date 撥款成功完成時間(格式YYYYmmddHHiiss) string
5 code 撥款狀態碼 string 『Pay Off 撥款狀態碼』值參考
6 msg 撥款狀態說明 string
Pay Off 撥款狀態碼』 值內容
Value Description Type Additional Information
C0001 等待放行 string
C1001 撥款成功 string
C2001 撥款失敗 string
C2002 放行人退件 string
AES256資料加密方式說明

1、所有的API送出HTTPs請求之欄位中,service 和 encry_data 欄位皆進行 AES256+BASE64 加密處理。
2、AES加密,格式為CBC,長度為256bits,金鑰長度32,IV長度16,傳遞內文為加密後組合IV並經過Base64轉換後傳出。

方式:
使用自訂的AES256函式將JSON資料加密後,再將IV資料和此AES256加密後的JSON資料串聯後,使用base64再進行加密成ASCII字串即可完成加密。

    PHP加密示意:
    AesEncrypt -> base64_ecode($IV . $JSON)

    C#加密示意:
    AesEncrypt -> (bytes)IV+(bytes)Json -> toBase64

    Java加密示意:
    AesEncrypt -> (bytes)IV+(bytes)Json -> toBase64

    Node.js加密示意:
    AesEncrypt -> concat([IV,JSON], [IV_SIZE,JSON_SIZE]) -> toString('base64')
    Python加密示意:
    AesEncrypt -> (bytes)IV+(bytes)Json -> base64.b64encode

範例程式碼