模擬串接服務 - 請求建立定期定額頁面

經銷商『請求建立定期定額頁面』請求欄位
Id Name Description Type Additional Information
1 agent_uid 經銷商商務代號
string 必填
2 service 服務名稱
string 必填
{ "service_name": "api", "cmd": "api\/batchdebitcreator" }
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\/batchdebitcreator" }
JSON格式,AES256加密資料
3 encry_data 『請求建立定期定額頁面』欄位資料 string 必填
『請求建立定期定額頁面』欄位參考
JSON格式,AES256加密資料
請求建立定期定額頁面』欄位
Id Name Description Type Additional Information
1 store_uid 特約商店代碼 string 必填
2 project_name 專案名稱 string 必填
3 regular 扣款單位 string 必填
『分期類型定義』值參考
4 notify_before 扣款前通知 string 專案名稱若已存在,則此蘭位於新增時無效,非必填
『扣款通知』值參考
5 notify_before_message 通知內容 string 專案名稱若已存在,則此蘭位於新增時無效
6 notify_after 扣款後通知 string 專案名稱若已存在,則此蘭位於新增時無效,非必填
『扣款通知』值參考
7 notify_after_message 通知內容 string
8 retry_enable 扣款失敗後,是否啟用重扣機制 int 專案名稱若已存在,則此蘭位於新增時無效,非必填
『扣款失敗後,重扣是否啟用』值參考
9 fail_notify_delay 扣款失敗,延遲幾日後重扣,單位:日 string 專案名稱若已存在,則此蘭位於新增時無效,非必填
10 retry_time 扣款失敗後,要重試幾次重扣 string 專案名稱若已存在,則此蘭位於新增時無效,非必填
11 order_id 請求編號(請求編號最長為50bytes),不可重複 string 必填
12 group_id 扣款單號(不可重複,每當交易回報時,會帶入此單號,使之識別扣款為同一筆申請的定期定額) string 必填
13 pay_mode_uid 付款方式 integer 非必填
『卡片類型定義』值參考
14 name 扣款人姓名 string 非必填
15 debtor_type 扣款人身份類型 integer 非必填
『證號類型』值參考
16 debtor_id 扣款人證號 string 非必填
17 phone_code 扣款人手機國碼 string 非必填
18 phone 扣款人手機 string
19 mail 扣款人電子信箱 string
20 store_member_id 網站會員ID string
21 currency 幣別(目前強制為TWD) string
22 cost 每期應扣金額 string 非必填
23 regular_first_charge_date 起扣日期 string 非必填
24 regular_total 扣款次數 string 非必填
25 invoice_type 發票類型(預設0) integer 非必填
『單據類型』值參考
26 cloud_type 雲端載具類型(預設0) int 非必填
『雲端發票類型』值參考
27 invoice_mobile_code 當cloud_type為2時紀錄的手機條碼 string
28 invoice_natural_person 當cloud_type為3時紀錄的自然人憑證條碼 string
29 invoice_love_code 當input_type為2時紀錄的愛心碼 string
30 tong_bian 發票統編 string 非必填
31 donation_statistics_type 捐款收據統計模式(預設0),當invoice_type為5時必填,且不能為0 int 依狀況必填
『捐款收據統計模式』值參考
32 donation_identity_type 捐款收據收件對象當invoice_type為5時必填,且不能為0 int 依狀況必填
『捐款單位』值參考
33 donation_type_no 捐款收據對象身分證或統編,當donation_identity_type為1時填身分證2填統編,當donation_identity_type為1時必填 string
34 donation_type_name 捐款收據對象姓名或公司名稱,當donation_identity_type為1時填姓名2填公司名稱,當donation_identity_type為1時必填 string
35 invoice_receipt_zip_code 捐款收據地址郵政區碼 string
36 invoice_receipt_city 捐款收據地址縣市 string
37 invoice_receipt_district 捐款收據地址鄉區 string
38 invoice_receipt_address 捐款收據地址 string
39 uniform_invoice_tax_name 免用統一發票買受人 string
40 uniform_invoice_tax_id 免用統一發票買受人統編 string
41 echo_0 自訂回傳1 string 非必填
42 echo_1 自訂回傳2 string 非必填
43 echo_2 自訂回傳3 string 非必填
44 echo_3 自訂回傳4 string 非必填
45 echo_4 自訂回傳5 string 非必填
請求建立定期定額頁面』回傳欄位
Id Name Description Type Additional Information
1 code 回應代碼 string 『執行結果代碼』值參考
2 msg 回應說明 string
3 page_code 頁面代碼 string
4 url 頁面網址 string
接收回報方式說明

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

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

定期定額,新增或修改通知結果』回報欄位
Id Name Description Type Additional Information
1 code 回應代碼 string 『代碼表』值參考
2 msg 代碼訊息 string
3 page_code 頁面代碼 string
4 order_id 商家請求單號 string
5 indice_data 扣款名目資料 object 『扣款名目資料』欄位參考
6 member_data 消費者扣款資料 object 『消費者扣款資料』欄位參考
7 delay_date 延期設定 array 每筆『回傳通知,延扣紀錄』欄位參考
分期類型定義』 值內容
Value Description Type Additional Information
W 每週定期扣款 string
F 雙週定期扣款 string
M 每月定期扣款 string
S 每季定期扣款 string
H 每半年定期扣款 string
A 每一年定期扣款 string
O 一次性扣款 string
扣款通知』 值內容
Value Description Type Additional Information
0 不通知
1 mail
2 簡訊
扣款失敗後,重扣是否啟用』 值內容
Value Description Type Additional Information
0
1
卡片類型定義』 值內容
Value Description Type Additional Information
1 信用卡
9 海外信用卡
29 美國運通
證號類型』 值內容
Value Description Type Additional Information
1 身份證字號(預設) integer
2 統一證號 integer
3 護照號碼 integer
單據類型』 值內容
Value Description Type Additional Information
0 不開
1 雲端發票
2 捐贈
4 免用統一發票收據
5 捐贈收據
雲端發票類型』 值內容
Value Description Type Additional Information
0 未使用雲端發票類型 integer
2 手機條碼 integer
3 自然人憑證條碼 integer
4 以E-Mail寄送 integer
捐款收據統計模式』 值內容
Value Description Type Additional Information
0 無作用
1 單筆
2 年度
捐款單位』 值內容
Value Description Type Additional Information
0 無作用,預設
1 個人
2 公司
執行結果代碼』 值內容
Value Description Type Additional Information
100 系統收到資料不正確。 string
200 系統收到正確資料。 string
400 系統錯誤
代碼表』 值內容
Value Description Type Additional Information
A0000 新增/修改成功
A0001 請求網址過期
扣款名目資料』欄位
Id Name Description Type Additional Information
1 name 專案名稱 string
2 regular 扣款單位 string 『分期類型定義』值參考
3 notify_before 扣款前通知方式 string 『扣款通知』值參考
4 notify_before_message 扣款前通知內容 string
5 notify_after 扣款後通知方式 string 『扣款通知』值參考
6 notify_after_message 扣款後通知內容 string
7 retry_enable 扣款失敗後,是否啟用重扣機制 int 『扣款失敗後,重扣是否啟用』值參考
8 fail_notify_delay 扣款失敗,延遲幾日後重扣,單位:日 string
9 retry_time 扣款失敗後,要重試幾次重扣 string
消費者扣款資料』欄位
Id Name Description Type Additional Information
1 group_id 扣款單號(不可重複,每當交易回報時,會帶入此單號,使之識別扣款為同一筆申請的定期定額) string 必填
2 pay_mode_uid 付款方式 integer 非必填
『卡片類型定義』值參考
3 name 扣款人姓名 string 非必填
4 debtor_type 扣款人身份類型 integer 非必填
『證號類型』值參考
5 debtor_id 扣款人證號 string 非必填
6 phone_code 扣款人手機國碼 string 非必填
7 phone 扣款人手機 string
8 mail 扣款人電子信箱 string
9 store_member_id 網站會員ID string
10 currency 幣別(目前強制為TWD) string
11 cost 每期應扣金額 string 非必填
12 regular_first_charge_date 起扣日期 string 非必填
13 regular_stop_charge_date 扣款到期日 string 非必填
14 invoice_type 發票類型(預設0) integer 非必填
『單據類型』值參考
15 cloud_type 雲端載具類型(預設0) int 非必填
『雲端發票類型』值參考
16 invoice_mobile_code 當cloud_type為2時紀錄的手機條碼 string
17 invoice_natural_person 當cloud_type為3時紀錄的自然人憑證條碼 string
18 invoice_love_code 當input_type為2時紀錄的愛心碼 string
19 tong_bian 發票統編 string 非必填
20 donation_statistics_type 捐款收據統計模式(預設0),當invoice_type為5時必填,且不能為0 int 依狀況必填
『捐款收據統計模式』值參考
21 donation_identity_type 捐款收據收件對象當invoice_type為5時必填,且不能為0 int 依狀況必填
『捐款單位』值參考
22 donation_type_no 捐款收據對象身分證或統編,當donation_identity_type為1時填身分證2填統編,當donation_identity_type為1時必填 string
23 donation_type_name 捐款收據對象姓名或公司名稱,當donation_identity_type為1時填姓名2填公司名稱,當donation_identity_type為1時必填 string
24 invoice_receipt_zip_code 捐款收據地址郵政區碼 string
25 invoice_receipt_city 捐款收據地址縣市 string
26 invoice_receipt_district 捐款收據地址鄉區 string
27 invoice_receipt_address 捐款收據地址 string
28 uniform_invoice_tax_name 免用統一發票買受人 string
29 uniform_invoice_tax_id 免用統一發票買受人統編 string
30 echo_0 自訂回傳1 string 非必填
31 echo_1 自訂回傳2 string 非必填
32 echo_2 自訂回傳3 string 非必填
33 echo_3 自訂回傳4 string 非必填
34 echo_4 自訂回傳5 string 非必填
回傳通知,延扣紀錄』欄位
Id Name Description Type Additional Information
1 delay_start_date 延扣起始日 string
2 delay_end_date 延扣結束日 string
3 delay_reason 延扣原因 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

範例程式碼