模擬串接服務 - 建立撥款批次

經銷商『建立撥款批次』請求欄位
Id Name Description Type Additional Information
1 agent_uid 經銷商商務代號
string 必填
2 service 服務名稱
string 必填
{ "service_name": "api", "cmd": "api\/payoffremittance" }
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\/payoffremittance" }
JSON格式,AES256加密資料
3 encry_data 『建立撥款批次』欄位資料 string 必填
『建立撥款批次』欄位參考
JSON格式,AES256加密資料
建立撥款批次』欄位
Id Name Description Type Additional Information
1 store_uid 特約商店商務代號 string 必填
2 tix_code ACH代收代付交易代號(請依照實際申請填入)
測試區為405或441
參考連結(https://www.twnch.org.tw/ach/file/ACH%E4%BB%A3%E6%94%B6%E4%BB%A3%E4%BB%98%E4%BA%A4%E6%98%93%E4%BB%A3%E8%99%9F%E8%A1%A8.doc)
string 必填
3 estimated_date 預計撥款日期(格式為YYYYmmdd) string 必填
4 group_name 批次撥款名稱 string 必填
5 group_id 批次撥款編號(發動方唯一編號,限定英數字) string 必填
6 items 批次撥款內容 array 必填
每筆『Pay Off 批次撥款項目』欄位參考
7 return_url 放行後撥款結果通知網址 string
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
建立撥款批次』回傳欄位
Id Name Description Type Additional Information
1 code 執行狀態碼 string 『Pay Off 執行狀態碼』值參考
2 msg 執行狀態訊息 string
3 content 建立撥款批次資訊回傳 object 『批次撥款回傳參數』欄位參考
接收回報方式說明

接收到資料時,請主動回傳字串【8888】四個字元,確認完成。若貴司沒有回傳,系統會間隔十五分鐘傳送一次持續四次,若仍未接受到貴司回傳確認字串,系統即會停止傳送。

回報使用 HTTP Protocol的Post方式,內容格式為 application/x-www-form-urlencoded。

撥款交易細項資訊』回報欄位
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 批次撥款項目』欄位
Id Name Description Type Additional Information
1 id 撥款代碼-本批次撥款項目編號(本批次唯一,限定英數字) string 必填
2 user_id 收款人帳號 string 必填
3 money 撥款金額(必須為整數) float 必填
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

範例程式碼