查詢 API
位置:https://pos.jkopay.com/{系統方名稱}/Inquiry
查詢 API 僅適用於付款或退款交易之後,當交易送出取消之後請勿使用查詢 API
付款/退款送出後 15 秒內對同筆單查詢,則可能因交易仍在進行中回應 ”916查無此訂單“
請求參數
參數名稱 | 資料型態 | 最大長度 | 必要 | 說明 |
---|---|---|---|---|
InquiryType | String | 1 | Y | 付款查詢請帶”P”,退款查詢請帶”R” |
MerchantID | String | 10 | Y | 特店代碼,請依街口提供的測試/正式商店代碼更新 |
StoreID | String | 20 | Y | 商店編號。若無,請放空值 |
GatewayTradeNo | String | 20 | C | 銀行端交易序號: 付款查詢時,請帶付款請求相同值 退款查詢時,請帶退款請求相同值 |
MerchantTradeNo | String | 60 | Y | 商店端交易序號(付款流水號或退款流水號) 需為唯一值,不可重複 |
PosID | String | 20 | Y | POS 機號 |
PosTradeTime | String | 19 | Y | POS 端交易日期時間,格式:yyyy/MM/dd HH:mm:ss |
SendTime | String | 14 | Y | 交易發送日期時間,格式:yyyyMMddHHmmss |
Sign | String | 64 | Y | 簽章值,請參照【1.1交易簽章規則】章節。 須為全小寫 |
{
"GatewayTradeNo": "",
"InquiryType": "P",
"MerchantID": "9999999",
"MerchantTradeNo": "2020009041651",
"PosID": "1",
"PosTradeTime": "2020/08/01 10:05:11",
"SendTime": "20200801100511",
"StoreID": "9999999",
"Sign": "cb458caa0e96a86f29a1b63e5a640b1eed60538133c56c048c96f6f54b4b0150"
}
{
"GatewayTradeNo": "",
"InquiryType": "R",
"MerchantID": "9999999",
"MerchantTradeNo": "2020009041651",
"PosID": "1",
"PosTradeTime": "2020/08/01 10:05:11",
"SendTime": "20200801100511",
"StoreID": "9999999",
"Sign": "a06a9b30527c2e5fcaa808802d453343c360c9ad8439cdf8640a758d5af7e7a7"
}
付款查詢返回參數
參數名稱 | 資料型態 | 最大長度 | 必要 | 說明 |
---|---|---|---|---|
MerchantID | String | 10 | Y | 同 request |
StoreID | String | 20 | Y | 同 request |
GatewayTradeNo | String | 20 | 同 request | |
MerchantTradeNo | String | 60 | Y | 同 request |
PosID | String | 20 | Y | 同 request |
StatusCode | String | 3 | Y | 回應碼 000:表示交易查詢成功 請參照【1.2回應碼(StatusCode)】章節 |
StatusDesc | String | 1000 | Y | 回應碼說明 |
OrderStatus | int | 1 | C | 街口訂單狀態: 1:付款成功 2:付款失敗 4:全額退款成功 7:部分退款成功,如果 StatusCode 非 000 則不回覆此欄位 |
TradeNo | String | 25 | C | 街口端交易序號,如果 StatusCode 非 000 則不回覆此欄位 |
TradeTime | String | 19 | C | 街口端付款交易日期時間,格式:yyyy/MM/dd HH:mm:ss,如果 StatusCode 非 000 則不回覆此欄位 |
PaymentType | int | C | 付款方式: 1:儲值帳戶 3:銀行帳戶(Account Link) 4:信用卡,如果 StatusCode 非 000 則不回覆此欄位 | |
TradeAmount | int | C | 如果 StatusCode 非 000 則不回覆此欄位 | |
DebitAmount | int | C | 付款方式扣款金額(折抵後金額),如果 StatusCode 非 000 則不回覆此欄位 | |
RedeemName | String | 10 | C | 折抵方式(三擇一),無折抵則回覆空字串 Coin:街口折抵 (所有由街口提供之折抵方式:含街口幣與官方街口券等) Store:店家折抵(所有由店家提供之折抵方式:含店家街口券等) Coin, Store:街口折抵 + 店家折抵(使用上述兩種折抵方式)如果 StatusCode 非 000 則不回覆此欄位 |
RedeemAmount | int | 街口折抵金額,此欄位為負值 | ||
StoreRedeemAmount | int | C | 店家折抵金額,此欄位為負值 該筆交易有店家折抵才會回應此欄位 | |
AvailableAmount | int | C | 儲值帳戶餘額,目前此欄位預設為 0 如果 StatusCode 非 000 則不回覆此欄位 | |
InvoiceVehicle | String | 20 | 手機條碼發票載具資訊 | |
MerMemToken | String | 30 | 第三方合作廠商會員識別資訊 | |
Remark | String | 1000 | 同 request 如果 StatusCode 非 000 則不回覆此欄位 | |
Extra1 | String | 512 | 同 request 如果 StatusCode 非 000 則不回覆此欄位 | |
Extra2 | String | 512 | 同 request 如果 StatusCode 非 000 則不回覆此欄位 | |
Extra3 | String | 512 | 信用卡資訊:當PaymentType = 4(信用卡)時,此欄位才會以 Json 字串回傳卡名及卡號前六後四碼,其餘皆為空 格式:{“CardName”: “XX卡”, “CardNo”: “222222******3333”} 如果 StatusCode 非 000 則不回覆此欄位 |
範例如下:
{
"MerchantID": "9999999",
"StoreID": "9999999",
"GatewayTradeNo": "",
"MerchantTradeNo": "2020009041651",
"PosID": "1",
"OrderStatus": 4,
"TradeNo": "J0065220120100700005",
"PaymentType": 1,
"TradeAmount": 10,
"DebitAmount": 7,
"RedeemName": "Coin",
"RedeemAmount": -2,
"StoreRedeemAmount": -1,
"AvailableAmount": 0,
"InvoiceVehicle": "/7DX6J02",
"MerMemToken": "",
"Remark": "",
"Extra1": "",
"Extra2": "",
"Extra3": "",
"StatusCode": "000",
"StatusDesc": "交易成功",
"TradeTime": "2020/10/07 20:11:51"
}
{
"MerchantID": "9999999",
"StoreID": "9999999",
"MerchantTradeNo": "2020009041657",
"PosID": "1",
"StatusCode": "916",
"StatusDesc": "查無此訂單"
}
退款查詢返回參數
參數名稱 | 資料型態 | 最大長度 | 必要 | 說明 |
---|---|---|---|---|
MerchantID | String | 10 | Y | 同 request |
StoreID | String | 20 | Y | 同 request |
GatewayTradeNo | String | 20 | 同 request | |
MerchantTradeNo | String | 60 | Y | 同 request |
PosID | String | 20 | Y | 同 request |
StatusCode | String | 3 | Y | 回應碼 000:表示交易查詢成功 請參照【1.2回應碼(StatusCode)】章節 |
StatusDesc | String | 1000 | Y | 回應碼說明 |
OrderStatus | int | 1 | C | 街口訂單狀態 2:退款失敗 5:退款成功,如果 StatusCode 非 000 則不回覆此欄位 |
TradeAmount | int | C | 退款金額,如果 StatusCode 非 000 則不回覆此欄位 | |
DebitAmount | int | C | 付款方式退款金額,如果 StatusCode 非 000 則不回覆此欄位 | |
AvailableAmount | int | C | 儲值帳戶餘額,目前此欄位預設為 0 如果 StatusCode 非 000 則不回覆此欄位 | |
TradeNo | String | 25 | C | 街口端付款交易序號,如果 StatusCode 非 000 則不回覆此欄位 |
RefundTradeNo | String | 25 | C | 街口端退款交易序號,如果 StatusCode 非 000 則不回覆此欄位 |
RefundTradeTime | String | 19 | C | 街口端退款交易日期時間,格式:yyyy/MM/dd HH:mm:ss 如果 StatusCode 非 000 則不回覆此欄位 |
PaymentType | int | C | 付款方式: 1:儲值帳戶 3:銀行帳戶(Account Link) 4:信用卡,如果 StatusCode 非 000 則不回覆此欄位 | |
RedeemName | String | 10 | C | 折抵方式(三擇一),無折抵則回覆空字串 Coin:街口折抵 (所有由街口提供之折抵方式:含街口幣與官方街口券等) Store:店家折抵(所有由店家提供之折抵方式:含店家街口券等) Coin, Store:街口折抵 + 店家折抵(使用上述兩種折抵方式)如果 StatusCode 非 000 則不回覆此欄位 |
RedeemAmount | int | 退還街口折抵金額,此欄位為正值 | ||
StoreRedeemAmount | int | C | 店家折抵金額,此欄位為正值,該筆交易有店家折抵才會回應此欄位 | |
InvoiceVehicle | String | 20 | 手機條碼發票載具資訊 | |
MerMemToken | String | 30 | 第三方合作廠商會員識別資訊 | |
Remark | String | 1000 | 同 request,如果 StatusCode 非 000 則不回覆此欄位 | |
Extra1 | String | 512 | 同 request,如果 StatusCode 非 000 則不回覆此欄位 | |
Extra2 | String | 512 | 同 request,如果 StatusCode 非 000 則不回覆此欄位 | |
Extra3 | String | 512 | 同 request,如果 StatusCode 非 000 則不回覆此欄位 |
範例如下:
{
"MerchantID": "9999999",
"StoreID": "9999999",
"GatewayTradeNo": "",
"MerchantTradeNo": "2020009041651",
"PosID": "1",
"OrderStatus": 5,
"TradeNo": "J0065220120100700005",
"RefundTradeNo": "K0065220120100700005",
"RefundTradeTime": "2020/10/07 20:18:07",
"PaymentType": 1,
"TradeAmount": 10,
"DebitAmount": 7,
"RedeemName": "Coin",
"RedeemAmount": 2,
"StoreRedeemAmount": 1,
"AvailableAmount": 0,
"InvoiceVehicle": "/7DX6J02",
"MerMemToken": "",
"Remark": "",
"Extra1": "",
"Extra2": "",
"Extra3": "",
"StatusCode": "000",
"StatusDesc": "交易成功"
}
{
"MerchantID": "9999999",
"StoreID": "9999999",
"MerchantTradeNo": "202008011028",
"PosID": "1",
"StatusCode": "916",
"StatusDesc": "查無此訂單"
}