重試交易(悠遊卡)
交易過程發生回應資料中的Retry值是1(含)以上時 (錯誤碼可能為000125或是0462xx), 就必須呼叫重試交易API
Last updated
交易過程發生回應資料中的Retry值是1(含)以上時 (錯誤碼可能為000125或是0462xx), 就必須呼叫重試交易API
Last updated
此API為必要串接
當交易進行的過程中, 如果有些步驟已經完成, 但還有步驟未完成前就被中斷 (例如扣款過程中卡片在交易進行程序中被取走), 就會導致交易不完整, 導致錯帳或其他問題。
此時, 就必須依照下面指示步驟進行重試交易, 讓交易完成.
交易過程發生回應資料中的Retry值是1(含)以上時 (錯誤碼可能為000125或是0462xx), 就必須呼叫重試交易API, 否則會出現錯帳
重試交易前, 需要先排除原先交易失敗的因素, 例如取走的卡片需要放回讀卡機上.
重試交易需要重試三次,第三次重試(發送Retry = 3)若失敗該筆交易就視為無法完成, 不能再進行重試. 該筆交易需反應給悠遊卡公司.
Data中的欄位會依據交易結果與類型而有不同, 請參照各交易(如Payment/Refund)的回應參數表
欄位
必填
型別
範例
說明
Method
YES
String(5)
31800
支付方式, 悠遊卡使用31800
ServiceType
YES
String
Payment
填入發生錯誤的交易的Response的Header.ServiceType中的值
MchId
YES
String
Account0001
填入發生錯誤的交易的Response的Header.MchId
TradeKey
YES
String
sha256...hash
交易密碼
CreateTime
YES
String
20180101120000
建立日期, yyyyMMddHHmmss
欄位
必填
型別
範例
說明
Retry
YES
String
1
填入發生錯誤的交易的Response的Data.Retry中的值 (note: 非Data.request.Retry)
DeviceId
YES
String
01301234
填入發生錯誤的交易的Response的Data.request.DeviceID中的值
Amount
YES
String
50
填入發生錯誤的交易的Response的Data.request.Amount中的值
StoreOrderNo
YES
String
PO12345678
填入發生錯誤的交易的Response的Data.OrderId中的值
TerminalTXNNumber
YES
String
091212
填入發生錯誤的交易的Response的Data.request.TerminalTXNNumber中的值
HostSerialNumber
YES
String
091212
填入發生錯誤的交易的Response的Data.request.HostSerialNumber中的值
RefundKey
(YES)
String
sha256...hash
退款密碼, 當ServiceType為Refund/Cancel/EZCRefund時需帶入此欄位
ActionType
(YES)
String
當ServiceType為Cancel時需要帶入, 由發生錯誤的交易的Response中取得.
欄位
必填
型別
範例
說明
StatusCode
YES
String
0000
StatusDesc
YES
String
STATUS_SUCCESS
交易結果代碼說明
Method
YES
String
31800
支付方式, 悠遊卡使用31800
ServiceType
YES
String
Payment
服務代碼, 同Request所傳入的ServiceType
MchId
YES
String
Account0001
特店帳號
ResponseTime
YES
String
20180101120000
交易回應時間, yyyyMMddHHmmss
欄位
必填
型別
範例
說明
request
YES
JSON String
request所傳入的data參數
TXNResult
YES
String
Success
交易結果
Retry
YES
String
0
下次request的Retry參數值
ErrorCode
YES
String
000000
OrderId
YES
String
PO12345678
訂單編號
NewAESKey
NO
String
內部交易使用