應用場景
當消費者出示票券,可掃描票面的BarCode取得票券序號或核銷代碼,呼叫此API取得該票券的使用狀態、可開始使用日期等資料,以確認票券是否可進行核銷或退貨。
API介接網址
- 測試環境:https://ecticket-stage.ecpay.com.tw/api/Ticket/QueryTicketStatus
- 正式環境:https://ecticket.ecpay.com.tw/api/Ticket/QueryTicketStatus
HTTPS傳輸協定
- Accept:text/html
- Content Type:application/json
- HTTP Method:POST
特店Request參數說明 (JSON格式)
PlatformID String(10)
平台商編號
平台商在綠界的會員編號[MerchantID]
MerchantID String(10)
特店編號 必填
RqHeader Object
傳輸資料 必填
Timestamp Number
傳入時間 必填
注意事項:
- 驗證時間區間暫訂為10分鐘內有效,若超過此驗證時間則此次訂單將無法建立,參考資料:http://www.epochconverter.com/。
- 合作特店須進行主機「時間校正」,避免主機產生時差,延伸API無法正常運作。
Data String
加密資料 必填
回傳相關資料,此為加密過JSON格式的資料。加密方法說明
CheckMacValue String
檢查碼 必填
請參考附錄檢查碼機制進行計算
特店Request參數範例 (Json格式)
{
"PlatformID": "3002599",
"MerchantID": "2000132",
"RqHeader": {
"Timestamp": 1525168923
},
"Data": "…",
"CheckMacValue": "…"
}
Data參數說明(Json格式)
注意事項:請在加密前對參數值進行 URLEncode
MerchantID String(10)
特店編號 必填
TicketNo String(16)
票券序號
注意事項:
- 此欄位與WriteOffNo須擇一必填
WriteOffNo String(18)
核銷代碼
每張票券會有一組專屬核銷代碼,掃描消費者出示的票券Barcode取得
注意事項:
- 此欄位與TicketNo須擇一必填
Data參數範例(Json格式)
{
"MerchantID": "2000132",
"TicketNo":"CB2SY20220302153",
"WriteOffNo":""
}
綠界Response參數說明 (JSON格式)
PlatformID String(10)
平台商編號
MerchantID String(10)
特店編號
RpHeader Object
回傳資料
Timestamp Number
回傳時間
時間戳 Unix timestamp
TransCode Int
回傳代碼
1 代表 API 傳輸資料 (PlatformID, MerchantID, RqHeader, Data) 接收成功,實際的API執行結果狀態請參考 RtnCode 參數
TransMsg String(200)
回傳訊息
Data String
加密資料
此參數為加密過的 JSON 格式資料。加密方法說明
CheckMacValue String
檢查碼
請參考附錄檢查碼機制進行計算
綠界Response參數範例 (Json格式)
{
"PlatformID": "3002599",
"MerchantID": "2000132",
"RpHeader": {
"Timestamp": 1525169058
},
"TransCode": 1,
"TransMsg": "",
"Data": "…",
"CheckMacValue": "…"
}
Data參數說明(Json格式)
RtnCode Int
回應代碼
1為成功,其餘為失敗
RtnMsg String(200)
回應訊息
UseStatus Int
票券使用狀態
- 1:未使用,代表票券發行後尚未使用
- 2:已核銷,票券核銷使用後狀態即為已核銷
- 3:已退貨,票券執行退貨後狀態即為已退貨
- 4:已失效,代表贈品券已到期
ItemNo String(8)
商品編號
- 當[IssueType] 不等於4 (非純序號)時才會回傳。
ItemName String(20)
商品名稱
TicketAmount Int
票券面額
StartDate String(8)
票券生效日
ExpireDate String(8)
贈品券到期日期
票券發行時設定之贈品券到期日,格式為:yyyymmdd
EscrowExpireDate String(8)
提貨券履約保障到期日
格式為:yyyymmdd
WriteOffDate String(14)
核銷日期
票券執行核銷的時間,格式為:yyyymmdd hh:mm
RefundDate String(14)
退貨日期
票券執行退貨的時間,格式為:yyyymmdd hh:mm
IssueType String(1)
出券類型
- 1:超商票券
- 2:紙本票券
- 3:電子票券
- 4:純序號
InstructionsList Array[Object]
票券使用說明清單
- 此為JSON格式字串,包含多筆的票券使用說明資料
- 當[IssueType] 不等於4 (非純序號)時才會回傳。
Description String(100)
使用說明
依出券類型[IssueType]回傳該類型的票券使用說明事項
MerchantTradeNo String(25)
特店訂單編號
FreeTradeNo String(20)
贈品單號
IssueMID String(10)
發行特店編號
發行此張票券的特店編號
IssueStoreID String(20)
發行分店編號
發行此張票券的分店編號,如為空值代表是由總店發行。
RedeemMID String(10)
核銷特店編號
執行核銷的特店編號,如為空值代表票券尚未核銷,請參考票券使用狀態[UseStatus]。
RedeemStoreID String(20)
核銷分店編號
執行核銷的分店編號,如為空值代表此筆是由總店執行核銷,或是票券尚未核銷使用,請參考票券使用狀態[UseStatus]。
RefundMID String(10)
退貨特店編號
執行退貨的特店編號,如為空值代表票券未退貨,請參考票券使用狀態[UseStatus]。
RefundStoreID String(20)
退貨分店編號
執行退貨的分店編號,如為空值代表此筆是由總店執行退貨,或是票券未退貨,請參考票券使用狀態[UseStatus]。
WriteOffNo String(18)
核銷代碼
- 當[IssueType] =4 (純序號)時才會回傳。
Data參數範例(Json格式)
{
"RtnCode": 1,
"RtnMsg": "成功",
"UseStatus":2,
"ItemNo":"VQT04959",
"ItemName":"臉部SPA美容體驗券"
"TicketAmount":200,
"StartDate":"20220302",
"ExpireDate":"",
"EscrowExpireDate":"20221231",
"WriteOffDate":"20220305 16:30",
"RefundDate":"",
"IssueType":"2",
"InstructionsList":[
{"Description":"紙本票券使用說明1"},
{"Description":"紙本票券使用說明2"},
{"Description":"紙本票券使用說明3"}
],
"MerchantTradeNo":"CBX20220302153064851",
"FreeTradeNo": "",
"IssueMID": "2000132",
"IssueStoreID": "TP1001",
"RedeemMID": "2000132",
"RedeemStoreID": "TP1001",
"RefundMID": "",
"RefundStoreID": ""
}