查詢 API

位置:https://pos.jkopay.com/{系統方名稱}/Inquiry

查詢 API 僅適用於付款或退款交易之後,當交易送出取消之後請勿使用查詢 API
付款/退款送出後 15 秒內對同筆單查詢,則可能因交易仍在進行中回應 ”916查無此訂單“

請求參數

參數名稱資料型態最大長度必要說明
InquiryTypeString1Y付款查詢請帶”P”,退款查詢請帶”R”
MerchantIDString10Y特店代碼,請依街口提供的測試/正式商店代碼更新
StoreIDString20Y商店編號。若無,請放空值
GatewayTradeNoString20C銀行端交易序號:
付款查詢時,請帶付款請求相同值
退款查詢時,請帶退款請求相同值
MerchantTradeNoString60Y商店端交易序號(付款流水號或退款流水號) 需為唯一值,不可重複
PosIDString20YPOS 機號
PosTradeTimeString19YPOS 端交易日期時間,格式:yyyy/MM/dd HH:mm:ss
SendTimeString14Y交易發送日期時間,格式:yyyyMMddHHmmss
SignString64Y簽章值,請參照【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"
}

付款查詢返回參數

參數名稱資料型態最大長度必要說明
MerchantIDString10Y同 request
StoreIDString20Y同 request
GatewayTradeNoString20 同 request
MerchantTradeNoString60Y同 request
PosIDString20Y同 request
StatusCodeString3Y回應碼 000:表示交易查詢成功
請參照【1.2回應碼(StatusCode)】章節
StatusDescString1000Y回應碼說明
OrderStatusint1C街口訂單狀態:
1:付款成功
2:付款失敗
4:全額退款成功
7:部分退款成功,如果 StatusCode 非 000 則不回覆此欄位
TradeNoString25C街口端交易序號,如果 StatusCode 非 000 則不回覆此欄位
TradeTimeString19C街口端付款交易日期時間,格式:yyyy/MM/dd HH:mm:ss,如果 StatusCode 非 000 則不回覆此欄位
PaymentTypeint C付款方式:
1:儲值帳戶
3:銀行帳戶(Account Link)
4:信用卡,如果 StatusCode 非 000 則不回覆此欄位
TradeAmountint C如果 StatusCode 非 000 則不回覆此欄位
DebitAmountint C付款方式扣款金額(折抵後金額),如果 StatusCode 非 000 則不回覆此欄位
RedeemNameString10C折抵方式(三擇一),無折抵則回覆空字串
Coin:街口折抵 (所有由街口提供之折抵方式:含街口幣與官方街口券等)
Store:店家折抵(所有由店家提供之折抵方式:含店家街口券等)
Coin, Store:街口折抵 + 店家折抵(使用上述兩種折抵方式)如果 StatusCode 非 000 則不回覆此欄位
RedeemAmountint  街口折抵金額,此欄位為負值
StoreRedeemAmountint C店家折抵金額,此欄位為負值
該筆交易有店家折抵才會回應此欄位
AvailableAmountint C儲值帳戶餘額,目前此欄位預設為 0
如果 StatusCode 非 000 則不回覆此欄位
InvoiceVehicleString20 手機條碼發票載具資訊
MerMemTokenString30 第三方合作廠商會員識別資訊
RemarkString1000 同 request 如果 StatusCode 非 000 則不回覆此欄位
Extra1String512 同 request 如果 StatusCode 非 000 則不回覆此欄位
Extra2String512 同 request 如果 StatusCode 非 000 則不回覆此欄位
Extra3String512 信用卡資訊:當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": "查無此訂單"
}

退款查詢返回參數

參數名稱資料型態最大長度必要說明
MerchantIDString10Y同 request
StoreIDString20Y同 request
GatewayTradeNoString20 同 request
MerchantTradeNoString60Y同 request
PosIDString20Y同 request
StatusCodeString3Y回應碼 000:表示交易查詢成功
請參照【1.2回應碼(StatusCode)】章節
StatusDescString1000Y回應碼說明
OrderStatusint1C街口訂單狀態
2:退款失敗
5:退款成功,如果 StatusCode 非 000 則不回覆此欄位
TradeAmountint C退款金額,如果 StatusCode 非 000 則不回覆此欄位
DebitAmountint C付款方式退款金額,如果 StatusCode 非 000 則不回覆此欄位
AvailableAmountint C儲值帳戶餘額,目前此欄位預設為 0
如果 StatusCode 非 000 則不回覆此欄位
TradeNoString25C街口端付款交易序號,如果 StatusCode 非 000 則不回覆此欄位
RefundTradeNoString25C街口端退款交易序號,如果 StatusCode 非 000 則不回覆此欄位
RefundTradeTimeString19C街口端退款交易日期時間,格式:yyyy/MM/dd HH:mm:ss
如果 StatusCode 非 000 則不回覆此欄位
PaymentTypeint C付款方式:
1:儲值帳戶
3:銀行帳戶(Account Link)
4:信用卡,如果 StatusCode 非 000 則不回覆此欄位
RedeemNameString10C折抵方式(三擇一),無折抵則回覆空字串
Coin:街口折抵 (所有由街口提供之折抵方式:含街口幣與官方街口券等)
Store:店家折抵(所有由店家提供之折抵方式:含店家街口券等)
Coin, Store:街口折抵 + 店家折抵(使用上述兩種折抵方式)如果 StatusCode 非 000 則不回覆此欄位
RedeemAmountint  退還街口折抵金額,此欄位為正值
StoreRedeemAmountint C店家折抵金額,此欄位為正值,該筆交易有店家折抵才會回應此欄位
InvoiceVehicleString20 手機條碼發票載具資訊
MerMemTokenString30 第三方合作廠商會員識別資訊
RemarkString1000 同 request,如果 StatusCode 非 000 則不回覆此欄位
Extra1String512 同 request,如果 StatusCode 非 000 則不回覆此欄位
Extra2String512 同 request,如果 StatusCode 非 000 則不回覆此欄位
Extra3String512 同 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": "查無此訂單"
}