Data Loading...
多元支付平台-WEBAPI介面規格(V1.7) Flipbook PDF
多元支付平台-WEBAPI介面規格(V1.7)
174 Views
166 Downloads
FLIP PDF 581.84KB
統一客樂得多元支付平台 WEB API 規格說明文件
系統版本:1.7 更新日期:2020 年 4 月 22 日
1
文件修改記錄 日期
版本
說明
2017-07-18
1.0
初版
2017-12-11
1.1
新增 APN 文件
2018-01-11
1.2
刷卡 API 新增
2018-01-30
1.3
API 規格 一、CVS 代收代付 2. 契客新增訂單 - 新增參數 payment_acquirerType 3. 訂單查詢 - 新增參數 cvs_acquirer_type
2018-03-20
1.3.1
API 規格:建立訂單,新增 apn_url 欄位
2018-04-11
1.3.2
CVS 代收代付-建立訂單增加檢查條件 1. 資料錯誤,「繳款人郵遞區號」必填. 2. 資料錯誤,「繳費到期日」為必填.
2018-06-13
1.3.3
新增變更金流服務簡訊簡稱功能
2018-06-25
1.3.4
API 規格:建立訂單,新增 short_url 欄位
2018-10-12
1.3.5
刷卡訂單查詢新增 card_no 欄位
2019-04-29
1.4
新增 ibon 變更繳款到期日功能
2019-07-15
1.5
CVS 契客新增訂單、COCS 契客新增刷卡訂單、COCS 契客新 增刷卡訂單-加值服務、COCS 契客新增刷卡訂單-玉山銀聯 卡以上 API 新增開立電子發票功能
2019-09-10
1.6
CVS 契客新增繳款單明細欄位
2020-04-22
1.7
COCS 繳款到期日新增分鐘制功能 增加訂單程序狀態 13(刷卡確認頁)
2
內容 說明 ............................................................................................................................................ 4 格式說明 .................................................................................................................................... 4 API 規格 ..................................................................................................................................... 5 一、 CVS 代收代付 ..................................................................................................... 5 1. 取得 Token 驗証碼 ............................................................................................ 5 2. 契客新增訂單 .................................................................................................... 6 3. 訂單查詢 .......................................................................................................... 12 4. 變更 ibon 繳款金額......................................................................................... 15 5.
變更 ibon 繳款到期日..................................................................................... 18
6. 二、
APN ................................................................................................................... 21 COCS 線上刷卡 ................................................................................................ 25
1. 2. 3. 4. 5. 6. 7.
取得 Token 驗証碼 .......................................................................................... 25 契客新增刷卡訂單 .......................................................................................... 27 銀行授權完成回報 .......................................................................................... 31 銀行授權失敗回報 .......................................................................................... 32 契客新增刷卡訂單-加值服務 ......................................................................... 33 訂單查詢 .......................................................................................................... 38 訂單取消授權 .................................................................................................. 41
8. 訂單取消交易(退貨、退款) ........................................................................... 43 9. 指定請款金額 .................................................................................................. 46 10. 契客新增刷卡訂單-玉山銀聯卡 ................................................................. 48 11. 訂單取消交易(退貨、退款) -玉山銀聯卡 ................................................. 52 12. 三、 1. 四、 1. 2.
APN ............................................................................................................... 54 主檔管理 .......................................................................................................... 58 變更金流服務簡訊簡稱 .................................................................................. 58 附件 .................................................................................................................. 59 訂單程序狀態一覽表 ...................................................................................... 59 分期參數 .......................................................................................................... 60
3
說明 提供契約客戶使用多元支付平台 CVS 代收代付與 COCS 線上刷卡 API 串接服務。
格式說明 1. 2. 3. 4.
傳輸資料皆採用 JSON 格式處理,UTF-8 編碼。 規格中無特別註明 Content-Type,則一律使用 application/json。 採用.NET 內建 OAuth 認證協定授權。 若程式需要 Token 驗證,則 Content-Type 使用 application/x-www-formurlencoded。
5. Token 應放置於 HTTP Header 中傳送。 Ex: Authorization: Bearer VKJ0qMXkD27J5ZaDu8ygWrFuK…
4
API 規格 一、
1.
CVS 代收代付
取得 Token 驗証碼
提供契約客戶 API 帳密驗證作業,驗證完成後為此帳號產出一組有時效性的 Token,授 權該帳號存取相關功能使用;Token 過期後,契客將無法繼續使用此 Token 存取相關功 能,直到重新驗證帳密產出新 Token 為止。
POST /Token ※傳輸網址:https://4128888card.com.tw/Token ※傳送資料: Content-Type: application/x-www-form-urlencoded 欄位
型態
長度
必填
加密
說明
grant_type
string
20
Y
授權方式(固定帶入 password)
username
string
20
Y
會員帳號
password
string
20
Y
會員 API 密碼
※回覆資料 欄位
型態
說明
access_token
string
存取憑證
token_type
string
憑證種類
expires_in
string
有效期(單位”秒”,預設 1 天)
userName
string
會員帳號
.issued
datetime
建立時間(GMT)
.expires
datetime
到期時間(GMT)
※錯誤回覆 欄位
型態
說明
Error
string
invalid_grant
error_description
string
使用者名稱或密碼不正確。
※Sample 5
Send { “grant_type”: “password”, “username”: “12656354001”, “password”: “1q2w” } Response 成功: { "access_token": "nII7I64yQLVIY8OBeKAn1K…", "token_type": "bearer", “expires_in": 86399, "userName": "12656354001", ".issued": " Tue, 18 Jul 2017 02:53:12 GMT", ".expires": " Wed, 19 Jul 2017 02:53:12 GMT" } 失敗: { “error”: “invalid_grant” “error_description”: “使用者名稱或密碼不正確。” }
2.
契客新增訂單
契約客戶透過 API 新增訂單。
POST /api/Collect ※傳輸網址:https://4128888card.com.tw/api/Collect ※傳送資料: Content-Type: application/json Authorization: Bearer [token…] 欄位
型態
長度
必填
說明
cmd
string
20
Y
交易代碼(固定帶入 CvsOrderAppend)
6
cust_id
string
20
Y
契客代號
cust_password
string
20
Y
契客 API 密碼
cust_order_no
string
30
Y
契客訂單號碼(契約客戶自 定之識別用號碼,該號碼在 同一契約客戶代號下必須為 唯一)
order_amount
number
Y
代繳金額
expire_date
string
10
Y
繳費到期日(YYYY-MM-DD)
payer_name
string
50
Y
繳款人姓名
payer_postcode
string
10
Y
繳款人郵遞區號
payer_address
string
240
Y
繳款人地址
payer_mobile
string
30
Y
繳款人手機
payer_email
string
240
Y
繳款人電子郵件
payment_type
string
2
Y
繳款方式 0: ibon 繳款 1: ATM 銀行轉帳 2:三段式條碼
payment_acquirerType string
2
收單行(預設 0:玉山) 0:玉山 1:中信
apn_url
250
APN 指定傳送網址(選填,若
string
沒有填寫則取得金流服務中 的 APN 網址) 繳款單明細
order_detail
string
50
b2c
string
1
電子 發票
此訂單是否開立電子發票 0:不開立 1:開立
product_name
string
60
電子 發票
商品名稱(必填)
print_invoice
string
1
電子 發票
是否列印紙本發票(必填) 0:不列印 1:列印
vehicle_type
string
1
電子 發票
載具類別 1:會員載具 2:手機條碼 3:自然人憑證
vehicle_barcode
string
20
電子
載具條碼
7
發票 donate_invoice
string
1
電子 發票
是否捐贈發票(必填) 0:不捐贈 1:捐贈
love_code
string
20
電子 發票
愛心碼(選捐贈。愛心碼如不 輸入,預設為創世基金會 919)
buyer_bill_no
string
8
電子 發票
買方統一編號
buyer_invoice_title
string
161
電子 發票
發票抬頭
buyer_invoice_zip
string
5
電子 發票
買方統編發票寄送郵遞區號
buyer_invoice_addr
string
240
電子 發票
買方統編發票寄送地址
※回覆資料 欄位
型態
說明
status
string
回應狀態 僅有 OK 與 ERROR 兩種訊息狀態, OK 為處理成功,ERROR 為處理時發 生異常狀況
cust_order_no
string
契客訂單號碼
order_amount
number
代繳金額
expire_date
string
繳費到期日(YYYY-MM-DD)
ibon_code
string
ibon 碼
ibon_shopid
string
安源 ibon 廠商代碼
virtual_account
string
代繳帳號(ATM 轉帳帳號)
st_barcode1
string
超商條碼 1
st_barcode2
string
超商條碼 2
st_barcode3
string
超商條碼 3
bill_amount
number
帳單金額
cs_fee
number
超商手續費
cvs_acquirer_type
string
收單行(預設 0:玉山) 0:玉山 1:中信 2:安源 ibon 8
short_url
string
短網址
print_invoice
string
是否列印紙本發票 0:不列印 1:列印
vehicle_type
string
載具類別 1:會員載具 2:手機條碼 3:自然人憑證
vehicle_barcode
string
載具條碼
donate_invoice
string
是否捐贈發票 0:不捐贈 1:捐贈
love_code
愛心碼
string
※Sample Send { “cmd”: “CvsOrderAppend”, “cust_id”: “12656354001”, “cust_password”: “1q2w”, “cust_order_no”: “20170718010723”, “order_amount”: 50, “expire_date”: “2017-07-18”, “payer_name”: “王大明”, “payer_postcode”: “260”, “payer_address”: “宜蘭市中山路 111 號”, “payer_mobile”: “0970325698”, “payer_email”: “[email protected]”, “payment_type”: “1”, “payment_acquirerType”: “0”, “apn_url”: “”, “b2c”: “1”, “product_name”: “手機”, “print_invoice”: “0”, “vehicle_type”: “1”, “vehicle_barcode”: “”, “donate_invoice”: “0”, “love_code”: “”, 9
“buyer_bill_no”: “”, “buyer_invoice_title”: “”, “buyer_invoice_zip”: “”, “buyer_invoice_addr”: “” } Response 成功: { “status”: “OK” “cust_order_no”: “20170718010712”, “order_amount”: 50, “expire_date”: “2017-07-18”, “ibon_code”: “719906142811”, “ibon_shopid”: “CCAT”, “virtual_account”: “”, “st_barcode1”: “”, “st_barcode2”: “”, “st_barcode3”: “”, “bill_amount”: 50, “cs_fee”: 0, “cvs_acquirer_type”: “0”, “short_url”: “https://goo.gl/PV1EZ3”, “print_invoice”: “0”, “vehicle_type”: “1”, “vehicle_barcode”: “”, “donate_invoice”: “0”, “love_code”: “” } 失敗: { “status”: “ERROR”, “msg”: “新增訂單失敗” } ※異常訊息列表 項目 項目名稱 1
cmd 資料不正確.
2
資料錯誤,「代繳金額」必須為數值. 10
3
資料錯誤,「繳費到期日」必須為日期或時間.系統解析您輸入的繳費到期日 為:XXXXX
4
資料錯誤,「繳費到期日」為必填.
5
契客未設定回應網址.
6
契約客戶資料不正確.
7
契約客戶資料不存在.
8
使用者密碼不可超過 40 碼.
9
使用者登入失敗,帳號或密碼錯誤.
10
使用者登入失敗, 使用者已經停用.
11
資料錯誤,「契客訂單號碼」必須為填寫.
12
資料錯誤,您已經上傳過此一「契約訂單號碼」:XXXXX,不可再次上傳.
13
資料錯誤,「契客訂單號碼」超過長度限制 30 碼.
14
資料錯誤,「代繳金額」必須為數值.
15
資料錯誤,「代繳金額」不可有小數位
16
資料錯誤,「代繳金額」必須小於 XXXXX
17
資料錯誤,「代繳金額」必須大於 XXXXX
18
資料錯誤,「繳費到期日」日期必須為未來 XXXXX 日至 XXXXX 日之間.系統解 析您輸入的繳費到期日為:XXXXX
19
資料錯誤,「繳款人郵遞區號」超過長度限制 10 碼.
20
資料錯誤,「繳款人郵遞區號」必填.
21
資料錯誤,「繳款人手機號碼」超過長度限制 30 碼.
22
資料錯誤,「繳款方式有誤」
23
資料錯誤,「代繳金額」必須大於契客手續費 XXXXX
24
金流服務已停用
25
金流服務尚未開始
26
金流服務已過期
27
繳費到期日超過金流服務有效日期[XXXXX]
28
繳款人手機必填
29
金流服務包含電子郵件,繳款人電子郵件必填
30
金流服務包含 PDF 附件,繳款人姓名及地址必填
31
新增訂單失敗!!
32
尚未啟用電子發票功能
33
是否印製紙本發票未輸入或格式錯誤
34
是否捐贈發票未輸入或格式錯誤
35
捐贈發票、統編(公司戶)發票、印製紙本發票或共通載具只能選一種
36
請輸入捐贈、紙本列印發票或使用發票載具 11
3.
37
請輸入載具類型
38
資料錯誤,「載具條碼」必填
39
載具條碼格式有誤
40
資料錯誤,「載具條碼」必填
41
載具條碼格式有誤
42
資料錯誤,「商品名稱」必填
43
資料錯誤,買方統一編號錯誤
44
資料錯誤,「發票抬頭」必填
45
資料錯誤,「買方統編發票寄送郵遞區號」必填
46
資料錯誤,「買方統編發票寄送郵遞區號」格式錯誤
47
資料錯誤,「買方統編發票寄送地址」必填
訂單查詢
契約客戶透過 API 查詢代繳資訊。
POST /api/Collect ※傳輸網址:https://4128888card.com.tw/api/Collect ※傳送資料: Content-Type: application/json Authorization: Bearer [token…] 欄位
型態
長度
必填
說明
cmd
string
20
Y
交易代碼(固定帶入 CvsOrderQuery)
cust_id
string
20
Y
契客代號
cust_password
string
20
Y
契客 API 密碼
cust_order_no
string
30
Y
契客訂單號碼
※回覆資料 欄位
型態
說明
status
string
回應狀態 僅有 OK 與 ERROR 兩種訊息狀態, OK 為處理成功,ERROR 為處理時發 生異常狀況 12
cust_order_no
string
契客訂單號碼
order_amount
number
代繳金額
expire_date
string
繳費到期日(yyyy-MM-dd)
ibon_code
string
ibon 碼
ibon_shopid
string
安源 ibon 廠商代碼
virtual_account
string
代繳帳號(ATM 轉帳帳號)
st_barcode1
string
超商條碼 1
st_barcode2
string
超商條碼 2
st_barcode3
string
超商條碼 3
bill_amount
number
帳單金額(需列印於帳單上之帳單金 額)
cs_fee
number
超商手續費
create_time
string
代繳資訊建立時間 (yyyy-MM-dd HH:mm:ss )
process_code
number
訂單程序狀態代碼 (參考附件 1)
process_code_update_time
string
訂單程序狀態變更日期 (yyyy-MM-dd HH:mm:ss)
pay_date
string
繳款日期(yyyy-MM-dd HH:mm:ss )
grant_amount
number
(預計)撥款金額
grant_date
string
撥款日期(yyyy-MM-dd)
cvs_acquirer_type
string
收單行(預設 0:玉山) 0:玉山 1:中信 2:安源 ibon 短網址
short_url print_invoice
string
是否列印紙本發票 0:不列印 1:列印
vehicle_type
string
載具類別 1:會員載具 2:手機條碼 3:自然人憑證
vehicle_barcode
string
載具條碼
donate_invoice
string
是否捐贈發票 0:不捐贈 1:捐贈
love_code
string
愛心碼 13
invoice_no
string
發票號碼
invoice_date
string
發票日期
random_number
string
隨機碼
※Sample Send { “cmd”: “CvsOrderQuery”, “cust_id”: “12656354001”, “cust_password”: “1q2w”, “cust_order_no”: “20170718010712” } Response 成功: { “status”: “OK” “cust_order_no”: “20170718010712”, “order_amount”: 50, “expire_date”: “2017-07-18”, “ibon_code”: “719906142811”, “ibon_shopid”: “CCAT”, “virtual_account”: “”, “st_barcode1”: “”, “st_barcode2”: “”, “st_barcode3”: “”, “bill_amount”: 50, “cs_fee”: 0, “create_time”: “2017-07-18 13:46:55”, “process_code”: 2, “process_code_update_time”: “2017-07-18 13:46:59”, “pay_date”: “”, “grant_amount”: 0, “grant_date”: “”, “cvs_acquirer_type”: “0”, “print_invoice ”: “0”, “vehicle_type”: “1”, “vehicle_barcode”: “”, “donate_invoice”: “0”, 14
“love_code”: “”, “invoice_no”: “”, “invoice_date”: “”, “random_number”: “” } 失敗: { “status”: “ERROR”, “msg”: “取得查詢代繳資訊失敗” } ※異常訊息列表 項目 項目名稱
4.
1
cmd 資料不正確.
2
契約客戶資料不正確.
3
契約客戶資料不存在.
4
使用者密碼不可超過 40 碼.
5
使用者登入失敗,帳號或密碼錯誤.
6
使用者登入失敗, 使用者已經停用.
7
必須要有參數+cust_order_no
8
找不到此筆代繳資訊
9
取得查詢代繳資訊失敗
變更 ibon 繳款金額
契約客戶透過 API 針對已新增訂單繳款方式為 ibon 繳款的訂單變更繳款金額。
POST /api/Collect ※傳輸網址:https://4128888card.com.tw/api/Collect ※傳送資料: Content-Type: application/json Authorization: Bearer [token…] 欄位
型態
長度
必填
說明
cmd
string
20
Y
交易代碼(固定帶入 15
CvsIbonUpdate) cust_id
string
20
Y
契客代號
cust_password
string
20
Y
契客 API 密碼
cust_order_no
string
30
Y
契客訂單編號,必須是已建立 的繳款單
order_amount
number
Y
異動後的繳款單金額
ibon_shopid
string
14
Y
廠商代碼(CCAT、BCAT)
ibon_code
string
20
Y
ibon 代碼
※回覆資料 欄位
型態
說明
status
string
回應狀態 僅有 OK 與 ERROR 兩種訊息狀態, OK 為處理成功,ERROR 為處理時發 生異常狀況
cust_order_no
string
契客訂單號碼
order_amount
number
代繳金額
expire_date
string
繳費到期日 (YYYY-MM-DD)
ibon_code
string
ibon 碼
ibon_shopid
string
安源 ibon 廠商代碼
virtual_account
string
代繳帳號(ATM 轉帳帳號)
st_barcode1
string
超商條碼 1
st_barcode2
string
超商條碼 2
st_barcode3
string
超商條碼 3
bill_amount
number
帳單金額
cs_fee
number
超商手續費
※Sample Send { “cmd”: “CvsIbonUpdate”, “cust_id”: “12656354001”, “cust_password”: “1q2w”, “cust_order_no”: “20170718010712”, “order_amount”: 80, “ibon_shopid”: “CCAT”, 16
“ibon_code”: “719906142811” } Response 成功: { “status”: “OK” “cust_order_no”: “20170718010712”, “order_amount”: 50, “expire_date”: “2017-07-18”, “ibon_code”: “719906142811”, “ibon_shopid”: “CCAT”, “virtual_account”: “”, “st_barcode1”: “”, “st_barcode2”: “”, “st_barcode3”: “”, “bill_amount”: 80, “cs_fee”: 0 } 失敗: { “status”: “ERROR”, “msg”: “變更 ibon 繳款金額失敗” } ※異常訊息列表 項目 項目名稱 1
cmd 資料不正確.
2
契約客戶資料不正確.
3
契約客戶資料不存在.
4
使用者密碼不可超過 40 碼.
5
使用者登入失敗,帳號或密碼錯誤.
6
使用者登入失敗, 使用者已經停用.
7
資料錯誤,「代繳金額」必須為數值.
8
資料錯誤,「繳費到期日」必須為日期或時間.系統解析您輸入的繳費到期日 為: XXXXX
9
契客未設定回應網址.
10
必須要有參數+cust_order_number 17
5.
11
必須要有參數+order_amount
12
必須要有參數+ibon_code
13
必須要有參數+ibon_shopid
14
契約客戶無法變更金額
15
繳款單資料不存在
16
繳款單不允許變更金額
17
參數 ibon_shopid 不正確
18
繳款單狀態已無法變更金額
19
變更繳款單「代繳金額」不能小於 0 元
20
變更繳款單「代繳金額」必須大於契客手續費 XXXXX
21
變更後帳單金額超過單筆 20000 元繳款上限
變更 ibon 繳款到期日
契約客戶透過 API 針對已新增訂單繳款方式為 ibon 繳款的訂單變更繳款到期日。
POST /api/Collect ※傳輸網址:https://4128888card.com.tw/api/Collect ※傳送資料: Content-Type: application/json Authorization: Bearer [token…] 欄位
型態
長度
必填
說明
cmd
string
20
Y
交易代碼(固定帶入 CvsIbonUpdateDate)
cust_id
string
20
Y
契客代號
cust_password
string
20
Y
契客 API 密碼
cust_order_no
string
30
Y
契客訂單編號,必須是已建立 的繳款單
order_amount
number
Y
異動後的繳款單金額
expire_date
string
Y
繳費到期日 (YYYY-MM-DD)
ibon_shopid
string
14
Y
廠商代碼(CCAT、BCAT)
ibon_code
string
20
Y
ibon 代碼
nonce
string
10
Y
隨機數,不會重覆的時間+亂 數組合採用時分秒+亂數產 18
生:HHNNSSRRRR HHNNSS:主機時間的時分秒(6 位數) RRRR:四位數隨機亂數 checksum
string
32
檢核驗證碼比對 checksum 的 內容是否與下列運算後的結果 相同,相同的 MD5 結果表示 這個訊息的內容與原始資料相 符。
Y
checksum = MD5 (cust_order_no + ":" + order_amount +":" + nonce ) ※回覆資料 欄位
型態
說明
status
string
回應狀態 僅 OK 與 ERROR 兩種訊息狀態,OK 為 處理成功,ERROR 為處理時發生異常 狀況
cust_order_no
string
契客訂單號碼
order_amount
number
代繳金額
expire_date
string
繳費到期日 (YYYY-MM-DD)
ibon_code
string
ibon 碼
ibon_shopid
string
安源 ibon 廠商代碼
virtual_account
string
代繳帳號(ATM 轉帳帳號)
st_barcode1
string
超商條碼 1
st_barcode2
string
超商條碼 2
st_barcode3
string
超商條碼 3
bill_amount
number
帳單金額
cs_fee
number
超商手續費
create_time
string
訂單建立日期
process_code
number
訂單狀態
process_code_update_time
string
訂單狀態變更時間
pay_date
string
繳款日期(yyyy-MM-dd HH:mm:ss )
grant_amount
number
(預計)撥款金額
grant_date
string
撥款日期(yyyy-MM-dd) 19
cvs_acquirer_type
收單行(預設 0:玉山)
string
0:玉山、1:中信、2: ibon (安源) short_url
短網址
string
※Sample Send { “cmd”: “CvsIbonUpdateDate”, “cust_id”: “12656354001”, “cust_password”: “1q2w”, “cust_order_no”: “20190402000001”, “order_amount”: 250, “expire_date”: “2019-04-07”, “ibon_shopid”: “CCAT”, “ibon_code”: “909606553021”, “nonce”:”21”, “checksum”:” e309160d46bcefaa7dd8db18a23f179f” } 這個例子中,checksum 的產生方式是 MD5(20190402000001:250:21) Response 成功: { "msg": "", "status": "OK", "cust_order_no": "20190402000001", "order_amount": 250, "expire_date": "2019-04-07", "ibon_code": "909606553021", "ibon_shopid": "CCAT", "virtual_account": "", "st_barcode1": "", "st_barcode2": "", "st_barcode3": "", "bill_amount": 280, "cs_fee": 0, "create_time": "2019-04-02 17:34:05", "process_code": 6, "process_code_update_time": "2019-04-02 18:14:31", 20
"pay_date": "2019-04-02 18:14:31", "grant_amount": 220, "grant_date": "", "cvs_acquirer_type": "2", "short_url": null } 失敗: { “status”: “ERROR”, “msg”: “變更 ibon 繳款日期失敗” } ※異常訊息列表 項目 項目名稱
6.
1
cmd 資料不正確.
2
契約客戶資料不正確.
3
契約客戶資料不存在.
4
使用者密碼不可超過 40 碼.
5
使用者登入失敗,帳號或密碼錯誤.
6
使用者登入失敗, 使用者已經停用.
7
檢核驗證碼不正確.
8
資料錯誤,「繳費到期日」必須為日期或時間.系統解析您輸入的繳費到期日 為: XXXXX
9
必須要有參數+cust_order_number
10
必須要有參數+order_amount
11
必須要有參數+ibon_code
12
必須要有參數+ibon_shopid
13
繳款單資料不存在
14
參數 ibon_shopid 不正確
APN
當您使用了我們的繳款服務,成為簽約的客戶後,您可以使用我們提供的系統後端介 接 (Server To Server)繳款狀態更新通知功能,讓您在每筆繳款交易的狀態變更時 (例 如:繳款完成、繳款單逾期...) 能夠最快收到通知,讓您的前後端系統即時更新訂單資 料。 如果要啓用這個功能,請準備一個接收通知的 URL,並向相關單位人員提出申請,我 21
們的系統會在您每一筆交易的繳款狀態變化時利用 HTTP POST 方式發送到您指定的 URL,通知的內容包含了所有繳款資料的必要欄位與內容,您的主機程式會從系統接收 到以 json 封裝的繳款單資料,就可以從解析後的資料取得您需要的繳款單內容。 ※傳輸資料格式 欄位
說明
Description
1.以 json 格式封裝繳款單資料做為傳輸的訊息。 2.ContentType = application/json。 3.使用 checksum 確保資料的安全性。
URL
在多元支付平台後台管理系統,登錄的契客回傳網址
Method
POST
Retrun
契客接收端接收到資料後,應回傳 OK 字串訊息給 APN 傳送端; 若無接收到任何回應,則 APN 傳送端將會繼續傳送通知訊息,最多傳 送 3 次。
※傳送資料: 欄位
型態
長 度
加 密
說明
api_id
string
32
配發給契客的系統識別碼
trans_id
string
32
每個繳款單都有一個唯一的交易識 別碼
order_no
string
20
契客訂單編號
amount
number
expire_time
string
25
繳款逾期時間, 格式:YYYY-MM-DDTHH:NN:SS+08:00 (年-月-日 T 時:分:秒+08:00)
status
string
1
狀態碼 A=等待繳款人繳納 B=繳款人已繳納 C=契客註定註銷 D=已過期繳款單
繳款單金額
E=已預約撥款給契客 I=開立發票通知 J=開立發票折讓單號通知 payment_code
number
payment_detail
Object
客樂得代收代繳服務=2 { 22
"st_barcode1":"超商條碼 1", "st_barcode2":"超商條碼 2", "st_barcode3":"超商條碼 3", "st_barcode_note":"超商備註", "bank_id":"銀行代號", "virtual_account":"代繳帳號", "atm_note":"銀行備註", "ibon_shopid":"ibon 廠商代碼", "ibon_code":"ibon 代碼", "ibon_note":"ibon 備註" } 保留使用
memo
Object
create_time
string
25
繳款單建立時間, 格式:YYYY-MM-DDTHH:NN:SS+08:00 (年-月-日 T 時:分:秒+08:00)
modify_time
string
25
狀態更新時間, 格式:YYYY-MM-DDTHH:NN:SS+08:00 (年-月-日 T 時:分:秒+08:00)
nonce
string
10
隨機數,不會重覆的時間+亂數組合 採用時分秒+亂數產生:HHNNSSRRRR HHNNSS:主機時間的時分秒(6 位數) RRRR:四位數隨機亂數
checksum
string
32
檢核驗證碼比對 checksum 的內容是 否與下列運算後的結果相同,相同 的 MD5 結果表示這個訊息的內容與 原始資料相符。 checksum = MD5 ( api_id +":" + trans_id +":" + amount+":" + status +":" + nonce )
print_invoice
string
1
是否列印紙本發票 0:不列印 1:列印
vehicle_type
string
1
載具類別 1:會員載具 23
2:手機條碼 3:自然人憑證 vehicle_barcode
string
20
載具條碼
donate_invoice
string
1
是否捐贈發票 0:不捐贈 1:捐贈
love_code
string
20
愛心碼
invoice_no
string
10
發票號碼
invoice_date
string
10
發票日期
random_number
string
4
隨機碼
16
折讓單號
invoice_discount_no string ※Sample
Response 當契客使用代收代繳款服務後,來自 APN 的回傳訊息 { "api_id":"CV0000000000", "trans_id":"550e8400e29b41d4a716446655440000", "order_no":"PO5488277", "amount":1250, "expire_time":"2013-09-28T08:15:00+08:00", "status":"D", "payment_code":2, "payment_detail": { "st_barcode1":"030222619", "st_barcode2":"9821400000096500", "st_barcode3":"030258000000050", "st_barcode_note":"外加", "bank_id":"808", "virtual_account":"98214000000965", "atm_note":"內含", "ibon_shopid":"CCAT", "ibon_code":"405300000960", "ibon_note":"外加" }, "memo":"", "create_time":"2016-04-03T08:00:00+08:00", "modify_time":"2016-04-08T08:30:00+08:00", 24
"nonce":"1234569999", "checksum":"3579609ba3914a49441e98cb7e8a55de" "print_invoice":"0", "vehicle_type":"2", "vehicle_barcode":"/1234567", "donate_invoice":"", "love_code":"", "invoice_no":"", "invoice_date":"", "random_number":"", "invoice_discount_no":"" } 這個例子中,checksum 的產生方式是 MD5(CV0000000000:550e8400e29b41d4a716446655440000:1250:D:1234569999)
二、
1.
COCS 線上刷卡
取得 Token 驗証碼
提供契約客戶 API 帳密驗證作業,驗證完成後為此帳號產出一組有時效性的 Token,授 權該帳號存取相關功能使用;Token 過期後,契客將無法繼續使用此 Token 存取相關功 能,直到重新驗證帳密產出新 Token 為止。
POST /Token ※傳輸網址:https://4128888card.com.tw/Token ※傳送資料: Content-Type: application/x-www-form-urlencoded 欄位
型態
長度
必填
加密
grant_type
string
20
Y
授權方式(固定帶入 password)
username
string
20
Y
會員帳號
password
string
20
Y
會員 API 密碼
※回覆資料 欄位
型態
說明 25
說明
access_token
string
存取憑證
token_type
string
憑證種類
expires_in
string
有效期(單位”秒”,預設 1 天)
userName
string
會員帳號
.issued
datetime
建立時間(GMT)
.expires
datetime
到期時間(GMT)
※錯誤回覆 欄位
型態
說明
error
string
invalid_grant
error_description
string
使用者名稱或密碼不正確。
※Sample Send { “grant_type”: “password”, “username”: “12656354001”, “password”: “1q2w” } Response 成功: { "access_token": "nII7I64yQLVIY8OBeKAn1K…", "token_type": "bearer", “expires_in": 86399, "userName": "12656354001", ".issued": " Tue, 18 Jul 2017 02:53:12 GMT", ".expires": " Wed, 19 Jul 2017 02:53:12 GMT" } 失敗: { “error”: “invalid_grant” “error_description”: “使用者名稱或密碼不正確。” }
26
2.
契客新增刷卡訂單
契約客戶透過 API 新增刷卡訂單。
POST /api/Collect ※傳輸網址:https://4128888card.com.tw/api/Collect ※傳送資料: Content-Type: application/json Authorization: Bearer [token…] 欄位
型態
長度
必填
說明
cmd
string
20
Y
交易代碼(固定帶入 CocsOrderAppend)
cust_id
string
20
Y
契客代號
cust_password
string
20
Y
契客 API 密碼
cust_order_no
string
30
Y
契客訂單號碼(契約客戶自定 之識別用號碼,該號碼在同一 契約客戶代號下必須為唯 一)。可不輸入,當此欄位為 空時,系統將會自動產生 YYYYMMDD######的號碼,前 八碼為西元年月日,後六碼為 該日期內之訂單流水號,從 1 開始累增,例如: 20170718000003
order_amount
number
order_detail
string
acquirer_type
string
Y
訂單/交易金額
150
Y
訂單明細
20
Y
指定收單銀行 esun: 玉山銀行 chinatrust: 中國信託銀行
limit_product_id
string
50
Y
限定產品別(可不輸入,當此 欄位為空時,意為允許所有產 品別。各產品別以”|”分隔) (參考附件 2) 例如:esun.normal|esun.m3
send_time
string
10
Y
傳送時間,必須為傳送時之最 27
新時間,格式為 yyyy-MM-dd HH:mm:ss,例如:2017-07-18 07:17:25 success_url
string
250
apn_url
string
250
訂單授權成功指定回傳 URL 若此參數有傳入 URL,授權成 功回覆 URL 會帶入此網址,若 沒有輸入會依客樂得金流服務 設定中授權成功所指定網址回 傳
Y
APN 指定傳送網址(選填,若沒 有填寫則取得金流服務中的 APN 網址)
b2c
string
1
電子 發票
此訂單是否開立電子發票 0:不開立 1:開立
product_name
string
60
電子 發票
商品名稱(必填)
print_invoice
string
1
電子 發票
是否列印紙本發票(必填) 0:不列印 1:列印
vehicle_type
string
1
電子
載具類別
發票
1:會員載具 2:手機條碼 3:自然人憑證
vehicle_barcode
string
20
電子 發票
載具條碼
donate_invoice
string
1
電子 發票
是否捐贈發票(必填) 0:不捐贈 1:捐贈
love_code
string
20
電子 發票
愛心碼(選捐贈。愛心碼如不輸 入,預設為創世基金會 919)
payer_name
string
50
電子 發票
繳款人姓名(必填)
payer_postcode
string
10
電子 發票
繳款人郵遞區號(必填)
payer_address
string
240
電子 發票
繳款人地址(必填)
28
payer_mobile
string
30
電子
繳款人手機(必填)
發票
發票中獎後簡訊通知
payer_email
string
240
電子 發票
繳款人電子郵件(必填) 開立電子發票及發票中獎 EMAIL 通知
buyer_bill_no
string
8
電子 發票
買方統一編號
buyer_invoice_title
string
161
電子 發票
發票抬頭
※回覆資料 欄位
型態
說明
status
string
回應狀態 僅有 OK 與 ERROR 兩種訊息狀態, OK 為處理成功,ERROR 為處理時發 生異常狀況
cust_order_no
string
契客訂單號碼
url
string
產生訂單對應的線上刷卡網址
※Sample Send { “cmd”: “CocsOrderAppend”, “cust_id”: “12656354001”, “cust_password”: “1q2w”, “cust_order_no”: “20170718010723”, “order_amount”: 50, “order_detail”: “測試訂單備註”, “acquirer_type”: “esun”, “limit_product_id”: “esun.normal|esun.m3”, “send_time”: “2017-07-18 01:07:23” } Response 成功: { “status”: “OK”, “cust_order_no”: “20170718010723”, “url”: “https://goo.gl/K616G6” 29
} 失敗: { “status”: “ERROR”, “msg”: “新增刷卡訂單失敗” } ※異常訊息列表 項目 項目名稱 1
cmd 資料不正確.
2
契約客戶資料不正確.
3
契約客戶資料不存在.
4
使用者密碼不可超過 40 碼.
5
使用者登入失敗,帳號或密碼錯誤.
6
使用者登入失敗, 使用者已經停用.
7
取得金流服務資訊失敗
8
缺少必要的欄位.
9
order_detail 格式不正確,內容不可包含 Html Tag.
10
order_amount 格式不正確.
11
send_time 格式不正確.
12
send_time 異常.
13
契客資料不存在.
14
收單銀行設定錯誤.
15
您尚未申請玉山銀行為收單銀行.
16
您尚未申請中國信託為收單銀行.
17
契客未設定回應網址.
18
cust_order_no 必須為三位數以上的英數字或減號.
19
訂單已經逾期.
20
資料錯誤,您已經上傳過此一「契約訂單號碼」:XXXXX,不可再次上傳.
21
金流服務已停用
22
資料錯誤,「代繳金額」必須小於 XXXXX
23
資料錯誤,「代繳金額」必須大於 XXXXX
24
尚未設定銀行手續費率
25
特店代號和押碼 KEY 不能為空白
26
尚未啟用電子發票功能.
27
是否印製紙本發票未輸入或格式錯誤. 30
28
是否捐贈發票未輸入或格式錯誤.
29
捐贈發票、統編(公司戶)發票、印製紙本發票或共通載具只能選一種
30
請輸入捐贈、紙本列印發票或使用發票載具
31
請輸入載具類型.
32
資料錯誤,「載具條碼」必填.
33
載具條碼格式有誤.
34
資料錯誤,「載具條碼」必填.
35
載具條碼格式有誤.
36
資料錯誤,「商品名稱」必填.
37
資料錯誤,「繳款人姓名」必填.
38
資料錯誤,「繳款人郵遞區號」格式錯誤.
39
資料錯誤,「繳款人郵遞區號」必填.
40
資料錯誤,「繳款人地址」必填.
41
資料錯誤,無效的繳款人手機號碼.
42
資料錯誤,「繳款人手機號碼」必填.
43
資料錯誤,無效的繳款人 Email 信箱.
44
資料錯誤,「繳款人電子郵件」必填.
45
資料錯誤,買方統一編號錯誤.
46
資料錯誤,「發票抬頭」必填.
3.
銀行授權完成回報
於銀行授權完成時,重新導向客戶端瀏覽器網址:契約客戶指定的「授權完成時重新 導向契客網址」 ※回覆資料 欄位
型態
說明
ret
string
回應狀態 授權成功時為 OK
cust_order_no
string
契客訂單號碼
order_amount
string
訂單/交易金額
send_time
string
原先的訂單傳送時間 (為契客新增訂單內輸入之傳送時間), 格式為 yyyy-MM-dd HH:mm:ss, 例如:2017-09-14 10:31:25
acquire_time
string
收單交易時間(取得授權時間), 格式為 yyyy-MM-dd HH:mm:ss, 31
例如:2017-09-14 10:36:38 auth_code
string
授權碼
card_no
string
信用卡號碼後四碼
notify_time
string
通報時間,為本次傳送訊息的時間 (每一次傳輸均會更新), 格式為 yyyy-MM-dd HH:mm:ss, 例如:2017-09-14 10:37:08
chk
string
檢核碼,檢核碼產生方式為 MD5(hash_base+'$'+order_amount+'$'+ send_time+'$'+ret+'$'+acquire_time +'$'+auth_code+'$'+card_no+'$'+ notify_time+'$'+cust_order_no) 先將各欄位以'$'串接,再以 MD5 演 算法取得。 hash_base:作為產生 chk 檢核碼的基 礎,於申請使用本服務時由系統配發
※Sample 授權完成時重新導向契客網址:http://10.10.10.100/cocs/authSuccess.php Response http://10.10.10.100/cocs/authSuccess.php?ret=OK&cust_order_no=C201709141001&ord er_amount=2&send_time=2017-09-14 10:31:25&acquire_time=2017-09-14 10:36:38&auth_code=951294&card_no=1849¬ify_time=2017-09-14 10:37:08&chk=9ea4928734f4099b387c75a344fe3e50
4.
銀行授權失敗回報
於銀行授權失敗時,重新導向客戶端瀏覽器網址:契約客戶指定的「授權失敗時重新 導向契客網址」 ※回覆資料 欄位
型態
說明
ret
string
回應狀態 授權成功時為 FAIL
cust_order_no
string
契客訂單號碼 32
order_amount
string
訂單/交易金額
send_time
string
原先的訂單傳送時間 (為契客新增訂單內輸入之傳送時間), 格式為 yyyy-MM-dd HH:mm:ss, 例如:2017-09-14 10:31:25
notify_time
string
通報時間,為本次傳送訊息的時間 (每一次傳輸均會更新), 格式為 yyyy-MM-dd HH:mm:ss, 例如:2017-09-14 10:37:08
chk
string
檢核碼,檢核碼產生方式為 MD5(hash_base+'$'+order_amount+'$'+ send_time+'$'+ret+'$'+ notify_time+'$'+cust_order_no) 先將各欄位以'$'串接,再以 MD5 演 算法取得。 hash_base:作為產生 chk 檢核碼的基 礎,於申請使用本服務時由系統配發
※Sample 授權失敗時重新導向契客網址:http://10.10.10.100/cocs/authFail.php Response http://10.10.10.100/cocs/authFail.php?ret=FAIL&cust_order_no=C201709141001&order_ amount=2&send_time=2017-09-14 10:31:25¬ify_time=2017-09-14 10:37:08&chk= 3aa9a501ae2c8e58f8dfdcb07af4b7c3
5.
契客新增刷卡訂單-加值服務
契約客戶透過 API 新增訂單且依簽約時所指定的加值服務。系統會依照設定的內容, 主動透過簡訊或電子郵件發送給繳款人線上刷卡繳款連結短網址通知。
POST /api/Collect ※傳輸網址:https://4128888card.com.tw/api/Collect ※傳送資料: 33
Content-Type: application/json Authorization: Bearer [token…] 欄位
型態
長度
必填
說明
cmd
string
20
Y
交易代碼(固定帶入 CocsOrderAppend2)
cust_id
string
20
Y
契客代號
cust_password
string
20
Y
契客 API 密碼
cust_order_no
string
30
Y
契客訂單號碼(契約客戶自定 之識別用號碼,該號碼在同一 契約客戶代號下必須為唯 一)。可不輸入,當此欄位為 空時,系統將會自動產生 YYYYMMDD######的號碼,前 八碼為西元年月日,後六碼為 該日期內之訂單流水號,從 1 開始累增,例如: 20170718000003
Y
訂單/交易金額
150
Y
訂單明細
string
50
Y
繳款人姓名
string
20
order_amount
number
order_detail
string
payer_name payer_mobile
繳款人手機號碼(若加值服務 有啟用,此欄位為必填) 繳款人電子郵件(若加值服務 有啟用,此欄位為必填)
payer_email
string
50
acquirer_type
string
20
Y
指定收單銀行 esun: 玉山銀行 chinatrust: 中國信託銀行
limit_product_id
string
50
Y
限定產品別(可不輸入,當此 欄位為空時,意為允許所有產 品別。各產品別以”|”分隔) (參考附件 2) 例如:esun.normal|esun.m3
send_time
string
10
傳送時間,必須為傳送時之最 新時間,格式為 yyyy-MM-dd HH:mm:ss,例如:2017-07-18
Y
07:17:25 success_url
string
250
訂單授權成功指定回傳 URL
Y 34
若此參數有傳入 URL,授權成 功回覆 URL 會帶入此網址,若 沒有輸入會依客樂得金流服務 設定中授權成功所指定網址回 傳 APN 指定傳送網址(選填,若沒 有填寫則取得金流服務中的 APN 網址)
apn_url
string
250
b2c
string
1
電子 發票
此訂單是否開立電子發票 0:不開立 1:開立
product_name
string
60
電子 發票
商品名稱(必填)
print_invoice
string
1
電子
是否列印紙本發票(必填)
發票
0:不列印 1:列印
vehicle_type
string
1
電子 發票
載具類別 1:會員載具 2:手機條碼 3:自然人憑證
vehicle_barcode
string
20
電子
載具條碼
發票 donate_invoice
string
1
電子 發票
是否捐贈發票(必填) 0:不捐贈 1:捐贈
love_code
string
20
電子 發票
愛心碼(選捐贈。愛心碼如不輸 入,預設為創世基金會 919)
payer_name
string
50
電子 發票
繳款人姓名(必填)
payer_postcode
string
10
電子 發票
繳款人郵遞區號(必填)
payer_address
string
240
電子 發票
繳款人地址(必填)
payer_mobile
string
30
電子 發票
繳款人手機(必填) 發票中獎後簡訊通知
payer_email
string
240
電子 發票
繳款人電子郵件(必填) 開立電子發票及發票中獎
35
EMAIL 通知 buyer_bill_no
string
8
電子 發票
買方統一編號
buyer_invoice_title
string
161
電子 發票
發票抬頭
※回覆資料 欄位
型態
說明
status
string
回應狀態 僅有 OK 與 ERROR 兩種訊息狀態, OK 為處理成功,ERROR 為處理時發 生異常狀況
cust_order_no
string
契客訂單號碼
url
string
產生訂單對應的線上刷卡網址
※Sample Send { “cmd”: “CocsOrderAppend2”, “cust_id”: “12656354001”, “cust_password”: “1q2w”, “cust_order_no”: “20170718010723”, “order_amount”: 50, “order_detail”: “測試訂單備註”, “payer_name”: “王大明”, “payer_mobile”: “0970325698”, “payer_email”: “[email protected]”, “acquirer_type”: “esun”, “limit_product_id”: “esun.normal|esun.m3”, “send_time”: “2017-07-18 01:07:23” } Response 成功: { “status”: “OK”, “cust_order_no”: “20170718010723”, “url”: “https://goo.gl/K616G6” } 36
失敗: { “status”: “ERROR”, “msg”: “新增刷卡訂單失敗” } ※異常訊息列表 項目 項目名稱 1
cmd 資料不正確.
2
契約客戶資料不正確.
3
契約客戶資料不存在.
4
使用者密碼不可超過 40 碼.
5
使用者登入失敗,帳號或密碼錯誤.
6
使用者登入失敗, 使用者已經停用.
7
取得金流服務資訊失敗
8
缺少必要的欄位.
9
order_detail 格式不正確,內容不可包含 Html Tag.
10
未授權使用服務.
11
必需輸入繳款人手機,或是您輸入的資料不正確.
12
必需輸入繳款人 E-mail,或是您輸入的資料不正確.
13
order_amount 格式不正確.
14
send_time 格式不正確.
15
send_time 異常.
16
契客資料不存在.
17
收單銀行設定錯誤.
18
您尚未申請玉山銀行為收單銀行.
19
您尚未申請中國信託為收單銀行.
20
契客未設定回應網址.
21
cust_order_no 必須為三位數以上的英數字或減號.
22
訂單已經逾期.
23
資料錯誤,您已經上傳過此一「契約訂單號碼」:XXXXX,不可再次上傳.
24
金流服務已停用
25
資料錯誤,「代繳金額」必須小於 XXXXX
26
資料錯誤,「代繳金額」必須大於 XXXXX
27
尚未設定銀行手續費率
28
特店代號和押碼 KEY 不能為空白 37
6.
29
尚未啟用電子發票功能.
30
是否印製紙本發票未輸入或格式錯誤.
31
是否捐贈發票未輸入或格式錯誤.
32
捐贈發票、統編(公司戶)發票、印製紙本發票或共通載具只能選一種.
33
請輸入捐贈、紙本列印發票或使用發票載具.
34
請輸入載具類型.
35
資料錯誤,「載具條碼」必填.
36
載具條碼格式有誤.
37
資料錯誤,「載具條碼」必填.
38
載具條碼格式有誤.
39
資料錯誤,「商品名稱」必填.
40
資料錯誤,「繳款人姓名」必填.
41
資料錯誤,「繳款人郵遞區號」超過長度限制 10 碼.
42
資料錯誤,「繳款人郵遞區號」必填.
43
資料錯誤,「繳款人地址」必填.
44
資料錯誤,無效的繳款人手機號碼.
45
資料錯誤,「繳款人手機號碼」必填.
46
資料錯誤,無效的繳款人 Email 信箱.
47
資料錯誤,「繳款人電子郵件」必填.
48
資料錯誤,買方統一編號錯誤.
49
資料錯誤,「發票抬頭」必填.
訂單查詢
契約客戶透過 API 查詢刷卡資訊。
POST /api/Collect ※傳輸網址:https://4128888card.com.tw/api/Collect ※傳送資料: Content-Type: application/json Authorization: Bearer [token…] 欄位
型態
長度
必填
說明
cmd
string
20
Y
交易代碼(固定帶入 CocsOrderQuery) 38
cust_id
string
20
Y
契客代號
cust_password
string
20
Y
契客 API 密碼
cust_order_no
string
30
Y
契客訂單號碼
※回覆資料 欄位
型態
說明
status
string
回應狀態 僅有 OK 與 ERROR 兩種訊息狀態, OK 為處理成功,ERROR 為處理時發 生異常狀況
cust_order_no
string
契客訂單號碼
order_amount
number
代繳金額
expire_date
string
繳費到期日(yyyy-MM-dd HH:mm:ss)
acquirer_type
string
授權銀行(玉山銀行/中國信託銀行)
period_type
string
授權產品(參考附件 2)
request_date
string
預計請求請款日期(yyyy-MM-dd )
request _amount
number
(預計)請款金額
grant_date
string
撥款日期(yyyy-MM-dd)
grant_amount
number
(預計)撥款金額
process_code
number
訂單程序狀態代碼 (參考附件 1)
process_code_update_time
string
訂單程序狀態變更日期 (yyyy-MM-dd HH:mm:ss)
create_time
訂單建立時間
string
(yyyy-MM-dd HH:mm:ss ) card_no
string
信用卡號後 4 碼
print_invoice
string
是否列印紙本發票 0:不列印 1:列印
vehicle_type
string
載具類別 1:會員載具 2:手機條碼 3:自然人憑證
vehicle_barcode
string
載具條碼
donate_invoice
string
是否捐贈發票 0:不捐贈 1:捐贈
love_code
string
愛心碼 39
invoice_no
string
發票號碼
invoice_date
string
發票日期
random_number
string
隨機碼
※Sample Send { “cmd”: “CocsOrderQuery”, “cust_id”: “12656354001”, “cust_password”: “1q2w”, “cust_order_no”: “20170718010712” } Response 成功: { “status”: “OK” “cust_order_no”: “20170825103044”, “order_amount”: 50, “expire_date”: “2017-08-25 13:31:00”, “acquirer_type ”: “玉山銀行”, “period_type”: “一次付清”, “request_date”: “2017-08-27”, “request_amount”: 50, “grant_date”:”2017-08-29”, “grant_amount”: 0, “process_code”: 15, “process_code_update_time”: “2017-08-25 10:31:55”, “create_time”: “2017-08-25 10:30:44”, “card_no”: “1243”, “print_invoice”: “0”, “vehicle_type”: “”, “vehicle_barcode”: “”, “donate_invoice”: “1”, “love_code”: “919”, “invoice_no”: “”, “invoice_date”: “”, “random_number”: “” } 40
失敗: { “status”: “ERROR”, “msg”: “取得查詢刷卡資訊失敗” }
※異常訊息列表 項目 項目名稱
7.
1
cmd 資料不正確.
2
契約客戶資料不正確.
3
契約客戶資料不存在.
4
使用者密碼不可超過 40 碼.
5
使用者登入失敗,帳號或密碼錯誤.
6
使用者登入失敗, 使用者已經停用.
7
必須要有參數+cust_order_no
8
找不到此筆刷卡資訊
9
取得查詢刷卡資訊失敗
訂單取消授權
契約客戶透過 API 取消訂單授權。
POST /api/Collect ※傳輸網址:https://4128888card.com.tw/api/Collect ※傳送資料: Content-Type: application/json Authorization: Bearer [token…] 欄位
型態
長度
必填
說明
cmd
string
20
Y
交易代碼(固定帶入 CocsOrderCancel)
cust_id
string
20
Y
契客代號
cust_password
string
20
Y
契客 API 密碼
cust_order_no
string
30
Y
原契客訂單編號 41
order_amount
number
acquirer_type
string
send_time
string
Y
訂單/交易金額
20
Y
指定收單銀行 esun: 玉山銀行 chinatrust: 中國信託銀行
10
Y
傳送時間,必須為傳送時之最 新時間,格式為 yyyy-MM-dd HH:mm:ss,例如:2017-07-18 07:17:25
※回覆資料 欄位
型態
說明
status
string
回應狀態 僅有 OK 與 ERROR 兩種訊息狀態, OK 為處理成功,ERROR 為處理時發 生異常狀況
cust_order_no
契客訂單號碼
string
※Sample Send { “cmd”: “CocsOrderCancel”, “cust_id”: “12656354001”, “cust_password”: “1q2w”, “cust_order_no”: “20170718010723”, “order_amount”: 50, “acquirer_type”: “esun”, “send_time”: “2017-07-18 03:07:23” } Response 成功: { “status”: “OK”, “cust_order_no”: “20170718010723” } 失敗: { “status”: “ERROR”, “msg”: “訂單取消授權失敗” 42
} ※異常訊息列表 項目 項目名稱
8.
1
cmd 資料不正確.
2
缺少必要的欄位.
3
order_amount 格式不正確.
4
send_time 格式不正確.
5
send_time 異常.
6
契客資料不存在.
7
收單銀行設定錯誤.
8
您尚未申請玉山銀行為收單銀行.
9
您尚未申請中國信託為收單銀行.
10
目前的訂單程序不允許取消授權.
11
訂單金額不正確.
12
取消授權作業失敗,無此訂單.
13
cust_order_no 不存在.
14
取消授權作業失敗,通訊異常.
15
取消授權作業失敗. 銀行端回覆: XXXXX
訂單取消交易(退貨、退款)
契約客戶透過 API 取消訂單交易。
POST /api/Collect ※傳輸網址:https://4128888card.com.tw/api/Collect ※傳送資料: Content-Type: application/json Authorization: Bearer [token…] 欄位
型態
長度
必填
說明
cmd
string
20
Y
交易代碼(固定帶入 CocsOrderRefund)
cust_id
string
20
Y
契客代號
cust_password
string
20
Y
契客 API 密碼 43
Y
原契客訂單編號
number
Y
訂單/交易金額
refund_amount
number
Y
取消交易(退貨、退款)金額 (必須輸入,小於或等於訂單/ 交易金額)
acquirer_type
string
20
Y
指定收單銀行 esun: 玉山銀行 chinatrust: 中國信託銀行
send_time
string
10
Y
傳送時間,必須為傳送時之最 新時間,格式為 yyyy-MM-dd HH:mm:ss,例如:2017-07-18
cust_order_no
string
order_amount
30
07:17:25 ※回覆資料 欄位
型態
說明
status
string
回應狀態 僅有 OK 與 ERROR 兩種訊息狀態, OK 為處理成功,ERROR 為處理時發 生異常狀況
cust_order_no
string
契客訂單號碼
refund_amount
string
取消交易(退貨、退款)金額
※Sample Send { “cmd”: “CocsOrderRefund”, “cust_id”: “12656354001”, “cust_password”: “1q2w”, “cust_order_no”: “20170718010723”, “order_amount”: 50, “refund_amount”: 50, “acquirer_type”: “esun”, “send_time”: “2017-07-18 03:07:23” } Response 成功: { 44
“status”: “OK”, “cust_order_no”: “20170718010723”, “refund_amount”: 50 } 失敗: { “status”: “ERROR”, “msg”: “訂單取消交易失敗” } ※異常訊息列表 項目 項目名稱 1
cmd 資料不正確.
2
缺少必要的欄位.
3
order_amount 格式不正確.
4
refund_amount 格式不正確.
5
send_time 格式不正確.
6
send_time 異常.
7
契客資料不存在.
8
收單銀行設定錯誤.
9
您尚未申請玉山銀行為收單銀行.
10
您尚未申請中國信託為收單銀行.
11
您尚未申請中國銀聯為收單銀行.
12
缺少中國銀聯收單行資訊.
13
缺少特店代號或押碼 Key.
14
目前的訂單程序不允許取消交易.
15
訂單金額不正確.
16
取消交易金額不可大於訂單金額.
17
取消交易金額必需大於 0 元.
18
指定取消交易金額不可大於請款金額.
19
累積取消交易金額不可大於訂單金額.
20
累積取消交易金額不可大於指定請款金額.
21
不允許部份取消交易.
22
取消交易作業失敗,無此訂單,或不是使用玉山或中國信託銀行付款.
23
cust_order_no 不存在.
24
取消交易作業失敗,無此訂單,或不是使用玉山付款.
25
取消交易作業失敗,無此訂單,或不是使用中信付款. 45
9.
指定請款金額
契約客戶透過 API 指定請款金額。
POST /api/Collect ※傳輸網址:https://4128888card.com.tw/api/Collect ※傳送資料: Content-Type: application/json Authorization: Bearer [token…] 欄位
型態
長度
必填
說明
cmd
string
20
Y
交易代碼(固定帶入 CocsCashRequest)
cust_id
string
20
Y
契客代號
cust_password
string
20
Y
契客 API 密碼
cust_order_no
string
30
Y
原契客訂單編號
order_amount
number
Y
訂單/交易金額
cr_amount
number
Y
請款金額
send_time
string
Y
傳送時間,必須為傳送時之最 新時間,格式為 yyyy-MM-dd HH:mm:ss,例如:2017-07-18
10
07:17:25 ※回覆資料 欄位
型態
說明
status
string
回應狀態 僅有 OK 與 ERROR 兩種訊息狀態, OK 為處理成功,ERROR 為處理時發 生異常狀況
cust_order_no
string
契客訂單號碼
cr_amount
number
請款金額
※Sample Send 46
{ “cmd”: “CocsCashRequest”, “cust_id”: “12656354001”, “cust_password”: “1q2w”, “cust_order_no”: “20170718010723”, “order_amount”: 50, “cr_amount”: 50, “send_time”: “2017-07-18 03:07:23” } Response 成功: { “status”: “OK”, “cust_order_no”: “20170718010723”, “cr_amount”: 50 } 失敗: { “status”: “ERROR”, “msg”: “指定請款金額失敗” }
※異常訊息列表 項目 項目名稱 1
cmd 資料不正確.
2
缺少必要的欄位.
3
order_amount 格式不正確.
4
cr_amount 格式不正確.
5
send_time 格式不正確.
6
send_time 異常.
7
契客資料不存在.
8
指定的訂單不允許指定請款金額.
9
目前的訂單程序不允許指定請款金額.
10
訂單金額不正確.
11
指定請款金額不可大於訂單金額.
12
這個帳號未開通指定請款金額服務. 47
13
指定請款金額作業失敗,無此訂單,或不是使用玉山或中國信託銀行付款.
14
cust_order_no 不存在.
10. 契客新增刷卡訂單-玉山銀聯卡 契約客戶透過 API 新增玉山銀聯卡訂單。
POST /api/Collect ※傳輸網址:https://4128888card.com.tw/api/Collect ※傳送資料: Content-Type: application/json Authorization: Bearer [token…] 欄位
型態
長度
必填
說明
cmd
string
20
Y
交易代碼(固定帶入 CocsUnionpayAppend)
cust_id
string
20
Y
契客代號
cust_password
string
20
Y
契客 API 密碼
cust_order_no
string
30
Y
契客訂單號碼(契約客戶自定 之識別用號碼,該號碼在同一 契約客戶代號下必須為唯 一)。可不輸入,當此欄位為 空時,系統將會自動產生 YYYYMMDD######的號碼,前 八碼為西元年月日,後六碼為 該日期內之訂單流水號,從 1 開始累增,例如: 20170718000003
order_amount
number
order_detail
string
send_time
string
Y
訂單/交易金額
150
Y
訂單明細
10
Y
傳送時間,必須為傳送時之最 新時間,格式為 yyyy-MM-dd HH:mm:ss,例如:2017-07-18 07:17:25
success_url
string
250
訂單授權成功指定回傳 URL
Y 48
若此參數有傳入 URL,授權成 功回覆 URL 會帶入此網址若, 沒有輸入會依客樂得金流服務 設定中授權成功所指定網址回 傳 APN 指定傳送網址(選填,若沒 有填寫則取得金流服務中的 APN 網址)
apn_url
string
250
b2c
string
1
電子 發票
此訂單是否開立電子發票 0:不開立 1:開立
product_name
string
60
電子 發票
商品名稱(必填)
print_invoice
string
1
電子
是否列印紙本發票(必填)
發票
0:不列印 1:列印
vehicle_type
string
1
電子 發票
載具類別(必填) 1:會員載具 2:手機條碼 3:自然人憑證
vehicle_barcode
string
20
電子
載具條碼
發票 donate_invoice
string
1
電子 發票
是否捐贈發票(必填) 0:不捐贈 1:捐贈
love_code
string
20
電子 發票
愛心碼(選捐贈。愛心碼如不輸 入,預設為創世基金會 919)
payer_name
string
50
電子 發票
繳款人姓名(必填)
payer_postcode
string
10
電子 發票
繳款人郵遞區號(必填)
payer_address
string
240
電子 發票
繳款人地址(必填)
payer_mobile
string
30
電子 發票
繳款人手機(必填) 發票中獎後簡訊通知
payer_email
string
240
電子 發票
繳款人電子郵件(必填) 開立電子發票及發票中獎
49
EMAIL 通知 buyer_bill_no
string
8
電子 發票
買方統一編號
buyer_invoice_title
string
161
電子 發票
發票抬頭
※回覆資料 欄位
型態
說明
status
string
回應狀態 僅有 OK 與 ERROR 兩種訊息狀態, OK 為處理成功,ERROR 為處理時發 生異常狀況
cust_order_no
string
契客訂單號碼
url
string
產生訂單對應的線上刷卡網址
※Sample Send { “cmd”: “CocsUnionpayAppend”, “cust_id”: “12656354001”, “cust_password”: “1q2w”, “cust_order_no”: “20170718010723”, “order_amount”: 50, “order_detail”: “測試訂單備註”, “send_time”: “2017-07-18 01:07:23” } Response 成功: { “status”: “OK”, “cust_order_no”: “20170718010723”, “url”: “https://goo.gl/K616G6” } 失敗: { “status”: “ERROR”, “msg”: “新增刷卡訂單失敗” } 50
※異常訊息列表 項目 項目名稱 1
cmd 資料不正確.
2
契約客戶資料不正確.
3
契約客戶資料不存在.
4
使用者密碼不可超過 40 碼.
5
使用者登入失敗,帳號或密碼錯誤.
6
使用者登入失敗, 使用者已經停用.
7
取得金流服務資訊失敗
8
缺少必要的欄位.
9
order_detail 格式不正確,內容不可包含 Html Tag.
10
order_amount 格式不正確.
11
send_time 格式不正確.
12
send_time 異常.
13
契客資料不存在.
14
您尚未申請玉山銀行為收單銀行.
15
契客未設定回應網址.
16
cust_order_no 必須為三位數以上的英數字或減號.
17
訂單已經逾期.
18
資料錯誤,您已經上傳過此一「契約訂單號碼」:XXXXX,不可再次上傳.
19
金流服務已停用
20
資料錯誤,「代繳金額」必須小於 XXXXX
21
資料錯誤,「代繳金額」必須大於 XXXXX
22
尚未設定銀行手續費率
23
特店代號和押碼 KEY 不能為空白
24
尚未啟用電子發票功能.
25
是否印製紙本發票未輸入或格式錯誤.
26
是否捐贈發票未輸入或格式錯誤.
27
捐贈發票、統編(公司戶)發票、印製紙本發票或共通載具只能選一種.
28
請輸入捐贈、紙本列印發票或使用發票載具.
29
請輸入載具類型.
30
資料錯誤,「載具條碼」必填.
31
載具條碼格式有誤.
32
資料錯誤,「載具條碼」必填.
33
載具條碼格式有誤. 51
34
資料錯誤,「商品名稱」必填.
35
資料錯誤,「繳款人姓名」必填.
36
資料錯誤,「繳款人郵遞區號」超過長度限制 10 碼.
37
資料錯誤,「繳款人郵遞區號」必填.
38
資料錯誤,「繳款人地址」必填.
39
資料錯誤,無效的繳款人手機號碼.
40
資料錯誤,「繳款人手機號碼」必填.
41
資料錯誤,無效的繳款人 Email 信箱.
42
資料錯誤,「繳款人電子郵件」必填.
43
資料錯誤,買方統一編號錯誤.
44
資料錯誤,「發票抬頭」必填.
11. 訂單取消交易(退貨、退款) -玉山銀聯卡 契約客戶透過 API 取消玉山銀聯卡訂單交易。
POST /api/Collect ※傳輸網址:https://4128888card.com.tw/api/Collect ※傳送資料: Content-Type: application/json Authorization: Bearer [token…] 欄位
型態
長度
必填
說明
cmd
string
20
Y
交易代碼(固定帶入 CocsUnionpayRefund)
cust_id
string
20
Y
契客代號
cust_password
string
20
Y
契客 API 密碼
cust_order_no
string
30
Y
原契客訂單編號
order_amount
number
Y
訂單/交易金額
refund_amount
number
Y
取消交易(退貨、退款)金額 (必須輸入,小於或等於訂單/ 交易金額)
send_time
string
Y
傳送時間,必須為傳送時之最 新時間,格式為 yyyy-MM-dd HH:mm:ss,例如:2017-07-18
10
52
07:17:25 ※回覆資料 欄位
型態
說明
status
string
回應狀態 僅有 OK 與 ERROR 兩種訊息狀態, OK 為處理成功,ERROR 為處理時發 生異常狀況
cust_order_no
string
契客訂單號碼
refund_amount
string
取消交易(退貨、退款)金額
※Sample Send { “cmd”: “CocsUnionpayRefund”, “cust_id”: “12656354001”, “cust_password”: “1q2w”, “cust_order_no”: “20170718010723”, “order_amount”: 50, “refund_amount”: 50, “send_time”: “2017-07-18 03:07:23” } Response 成功: { “status”: “OK”, “cust_order_no”: “20170718010723”, “refund_amount”: 50 } 失敗: { “status”: “ERROR”, “msg”: “訂單取消交易失敗” } ※異常訊息列表 項目 項目名稱 1
cmd 資料不正確. 53
2
缺少必要的欄位.
3
order_amount 格式不正確.
4
refund_amount 格式不正確.
5
send_time 格式不正確.
6
send_time 異常.
7
契客資料不存在.
8
您尚未申請中國銀聯為收單銀行.
9
缺少中國銀聯收單行資訊.
10
缺少特店代號或押碼 Key.
11
目前的訂單程序不允許取消交易.
12
訂單金額不正確.
13
取消交易金額不可大於訂單金額.
14
取消交易金額必需大於 0 元.
15
指定取消交易金額不可大於請款金額.
16
累積取消交易金額不可大於訂單金額.
17
累積取消交易金額不可大於指定請款金額.
18
不允許部份取消交易.
19
取消交易作業失敗,無此訂單,或不是使用玉山或中國信託銀行付款.
20
cust_order_no 不存在.
21
取消交易作業失敗,無此訂單,或不是使用銀聯付款.
22
取消交易作業失敗,通訊異常.
23
取消交易作業初步檢核失敗. 銀行端回覆: XXXXX
12. APN 契約客戶於訂單狀態變更時,主動發送通報訊息到客戶端網址:契約客戶指定的 「APN-主動發送訊息網址」。 ※傳輸資料格式 欄位
說明
Description
1.以 json 格式封裝訂單資料做為傳輸的訊息。 2.ContentType = application/json。 3.使用 checksum 確保資料的安全性。
URL
在多元支付平台後台管理系統,登錄的 APN-主動發送訊息網址
Method
POST
Retrun
APN 傳送端將會傳送通知訊息總共會傳送 3 次。 54
※傳送資料: 欄位
型態
長 度
加 密
說明
api_id
string
32
您的契客代號,於申請本服務配發 的代號。
trans_id
string
32
每筆線上刷卡訂單唯一的交易識別 碼。
order_no
string
20
契客訂單編號
amount
number
status
string
訂單/交易金額交易金額 訂單狀態碼
1
B=授權完成 O=請款作業中 (請款作業中,無法進行取消授權) E=請款完成 F=授權失敗 D=訂單逾期 P=請款失敗 M=取消交易完成 N=取消交易失敗 Q=取消授權完成 R=取消授權失敗 I=開立發票通知 J=開立發票折讓單號通知 payment_code
number
客樂得刷卡代繳服務(固定值為 1)
payment_detail
Object
{ "auth_code":"刷卡授權碼(6 位)", "auth_card_no":"信用卡號碼後四 碼" } 刷卡完成的刷卡資訊範例 { "auth_code":"123456", "auth_card_no":"1234" } 刷卡失敗的刷卡資訊範例 { 55
"auth_code":null, "auth_card_no":null } 保留使用
memo
Object
expire_time
string
25
繳款逾期時間, 格式:YYYY-MM-DDTHH:NN:SS+08:00 (年-月-日 T 時:分:秒+08:00)
create_time
string
25
繳款單建立時間, 格式:YYYY-MM-DDTHH:NN:SS+08:00 (年-月-日 T 時:分:秒+08:00)
modify_time
string
25
狀態更新時間, 格式:YYYY-MM-DDTHH:NN:SS+08:00 (年-月-日 T 時:分:秒+08:00)
nonce
string
隨機數,不會重覆的時間+亂數組合
10
採用時分秒+亂數產生:HHNNSSRRRR HHNNSS:主機時間的時分秒(6 位數) RRRR:四位數隨機亂數 checksum
string
檢核驗證碼比對 checksum 的內容是 否與下列運算後的結果相同,相同 的 MD5 結果表示這個訊息的內容與 原始資料相符。
32
checksum = MD5 ( api_id +":" + trans_id +":" + amount+":" + status +":" + nonce ) print_invoice
string
1
是否列印紙本發票 0:不列印 1:列印
vehicle_type
string
1
載具類別 1:會員載具 2:手機條碼 3:自然人憑證
vehicle_barcode
string
20
載具條碼
donate_invoice
string
1
是否捐贈發票 0:不捐贈 1:捐贈
love_code
string
20
愛心碼
invoice_no
string
10
發票號碼 56
invoice_date
string
10
發票日期
random_number
string
4
隨機碼
16
折讓單號
invoice_discount_no string ※Sample
Response 當契客使用刷卡代繳服務後,來自 APN 的回傳訊息 { "api_id":"CC0000000001", "trans_id":"550e8400e29b41d4a716446655440000", "order_no":"PO5488277", "amount":1250, "status":"B", "payment_code":1, "payment_detail":{"auth_code":"123456","auth_card_no":"0000"}, "memo":"", "expire_time":"2013-09-28T08:15:00+08:00", "create_time":"2013-09-28T08:00:00+08:00", "modify_time":"2013-09-28T08:30:00+08:00", "nonce":"1234569999", "checksum":"d09d5532767453ad4c6ba9b649034187", "print_invoice":"0", "vehicle_type":"2", "vehicle_barcode":"/1234567", "donate_invoice":"", "love_code":"", "invoice_no":"", "invoice_date":"", "random_number":"", "invoice_discount_no":"" } 這個例子中,checksum 的產生方式是 MD5(CC0000000001: 550e8400e29b41d4a716446655440000:1250:B:1234569999)
57
三、
1.
主檔管理
變更金流服務簡訊簡稱
契約客戶透過 API 調整簡訊簡稱資料。
POST /api/Collect ※傳輸網址:https://4128888card.com.tw/api/Collect ※傳送資料: Content-Type: application/json Authorization: Bearer [token…] 欄位
型態
長度
必填
說明
cmd
string
20
Y
交易代碼(固定帶入 SmsShortNameUpdate)
cust_id
string
20
Y
契客代號
cust_password
string
20
Y
契客 API 密碼
service_type
string
1
Y
金流服務類型 0:CVS 代收代付 1:COCS 線上刷卡
sms_short_name
string
20
調整後簡訊簡稱
Y
※回覆資料 欄位
型態
說明
status
string
回應狀態 僅有 OK 與 ERROR 兩種訊息狀態, OK 為處理成功,ERROR 為處理時發 生異常狀況
msg
string
回覆訊息
※Sample Send { “cmd”: “SmsShortNameUpdate”, “cust_id”: “12656354001”, “cust_password”: “1q2w”, 58
“service_type”: “0”, “sms_short_name”: “簡訊簡稱 XXXX” } Response 成功: { “status”: “OK” } 失敗: { “status”: “ERROR”, “msg”: “變更金流服務簡訊簡稱失敗” } ※異常訊息列表 項目 項目名稱 1
cmd 資料不正確.
2
契約客戶資料不正確.
3
契約客戶資料不存在.
4
使用者密碼不可超過 40 碼.
5
使用者登入失敗,帳號或密碼錯誤.
6
使用者登入失敗, 使用者已經停用.
7
資料錯誤,「金流服務類型指定錯誤」.
8
資料錯誤,「尚未申請 CVS 代收代付金流服務類型」.
9
資料錯誤,「尚未申請 COCS 線上刷卡金流服務類型」.
10
資料錯誤,「簡訊簡稱不能為空白」.
11
簡訊簡稱不可超過 20 碼.
12
取得金流服務失敗.
13
變更金流服務簡訊簡稱失敗
四、
1.
附件
訂單程序狀態一覽表
數值 說明 0
契約客戶提出代繳需求,等待契約客戶確認 59
1
已確認繳款單明細,等待列印(製作)繳款單
3
等待繳款人繳納
4
繳款人已繳納
5
契客設定註銷
6
繳款單逾期
7
已預約撥款給契客
8
已完成撥款給契客
13
刷卡確認頁
14
繳款人確認
15
授權完成
16
授權失敗
17
取消授權完成
18
取消授權失敗
20
請求請款
21
請款作業中
22
請款完成
23
請款失敗
24
請求取消交易
25
取消交易(退貨)申請中
26
取消交易(退貨)作業中
27
取消交易(退貨)完成
28
取消交易(退貨)失敗
29
取消交易(退貨)申請失敗
2.
分期參數
數值
說明
esun.normal
玉山銀行一次性付款
esun.m3
玉山銀行 3 期
esun.m6
玉山銀行 6 期
esun.m12
玉山銀行 12 期
chinatrust.normal 中國信託銀行一次性付款 中國信託銀行 3 期 chinatrust.m3 chinatrust.m6
中國信託銀行 6 期
chinatrust.m12
中國信託銀行 12 期
60