應用場景
提供特店查詢訂單資訊,可透過此API來過濾是否為有效訂單。
注意事項:
- 當取得付款結果通知時,請呼叫查詢訂單API驗證付款結果
- 在訂單產生後的10分鐘內未收到綠界通知的付款結果,您可以使用API查詢付款結果。如遇銀行尚未回覆的情況,查詢結果中的TradeStatus交易狀態為0:未付款,請於再過10分鐘後重新查詢訂單。
- 若有多筆訂單查詢的需求,請參考下載特店對帳媒體檔。
API介接網址
- 測試環境: https://ecpayment-stage.ecpay.com.tw/1.0.0/Cashier/QueryTrade
- 正式環境: https://ecpayment.ecpay.com.tw/1.0.0/Cashier/QueryTrade
HTTPS 傳輸協定
- Content Type:application/json
- HTTP Method:POST
特店Request參數說明 (Json格式)
MerchantID String(10)
特店編號 必填
RqHeader Object
傳輸資料 必填
Timestamp Number
傳輸時間 必填
請將傳輸時間轉換為時間戳(GMT+8),綠界會利用此參數將當下的時間轉為 Unix TimeStamp 來驗證此次介接的時間區間。
- 驗證時間區間為 10 分鐘內有效,若超過此驗證時間則此次訂單將無法建立,產生時間戳請參考相關資料。
- 合作特店須進行主機「時間校正」,避免主機產生時差,導致API無法正常運作。
Data String
加密資料 必填
此參數為加密過的 JSON 格式資料,加密方式請參考說明。
特店Request參數範例 (Json格式)
{
"MerchantID": "3002607",
"RqHeader": {
"Timestamp": 1234567890
},
"Data": "enter your data"
}
Data參數說明(Json格式)
注意事項:請在加密前對參數值進行 URLEncode
MerchantID String(10)
特店編號 必填
MerchantTradeNo String(20)
特店交易編號 必填
Data參數範例(Json格式)
{
"MerchantID": "3002607",
"MerchantTradeNo": "20180914001"
}
綠界Response參數說明 (Json格式)
MerchantID String(10)
特店編號
RpHeader Object
回傳資料
Timestamp Number
回傳時間
時間戳 Unix timestamp
TransCode Int
回傳代碼
1 代表 API 傳輸資料 (MerchantID, RqHeader, Data) 接收成功,實際的API執行結果狀態請參考 RtnCode 參數
TransMsg String(200)
回傳訊息
Data String
加密資料
此參數為加密過的 JSON 格式資料
綠界Response參數範例 (Json格式)
{
"MerchantID": "3002607",
"RpHeader": {
"Timestamp": 1234564848
},
"TransCode": 1,
"TransMsg": "Success",
"Data": "…"
}
Data參數說明(Json格式)
RtnCode Int
交易狀態
1 代表 API 執行成功,其餘代碼均為失敗,失敗代碼請參考交易訊息代碼表。
RtnMsg String(200)
回應訊息
PlatformID String(10)
平台商編號
MerchantID String(10)
特店編號
OrderInfo Object
訂單資訊
MerchantTradeNo String(20)
特店交易編號
TradeNo String(20)
綠界交易編號
TradeAmt Int
交易金額
TradeDate String(20)
訂單成立時間
PaymentType String(20)
付款方式
PaymentDate String(20)
付款時間
格式為 yyyy/MM/dd HH:mm:ss
ChargeFee Number
手續費
TradeStatus String(8)
交易狀態
CardInfo Object
信用卡授權資訊
AuthCode String(6)
銀行授權碼
Gwsr Int
授權交易單號
ProcessDate String(20)
交易時間
格式為 yyyy/MM/dd HH:mm:ss
Amount Int
金額
Stage Int
分期期數
Stast Int
首期金額
Staed Int
各期金額
Eci Int
3D(VBV) 回傳值
Eci=5,6,2,1 代表該筆交易為3D交易
Card6No String(6)
信用卡卡號前六碼
Card4No String(4)
信用卡卡號末四碼
RedDan Int
紅利扣點
使用信用卡紅利時回傳
RedOkAmt Int
實際扣款金額
使用信用卡紅利時回傳
RedYet Int
紅利剩餘點數
使用信用卡紅利時回傳
PeriodType String(1)
週期種類
定期定額時回傳,訂單建立時所設定的週期種類
Frequency Int
執行頻率
定期定額時回傳,訂單建立時所設定的執行頻率
ExecTimes Int
執行次數
定期定額時回傳,訂單建立時所設定的執行次數
PeriodAmount Int
訂單建立時的每次要授權金額
定期定額時回傳
TotalSuccessTimes Int
目前已成功授權的次數
定期定額時回傳,目前已成功授權的次數
TotalSuccessAmount Int
目前已成功授權的金額合計
定期定額時回傳
IssuingBank String(30)
銀行名稱
IssuingBankCode String(10)
銀行代碼
CustomField String(200)
自訂欄位
提供特店使用客制化欄位
Data參數範例(Json格式)
{
"RtnCode": 1,
"RtnMsg": "Success",
"MerchantID": "3002607",
"OrderInfo": {
"MerchantTradeNo": "20180914001",
"TradeNo": "1809261503338172",
"TradeDate" :"2018/09/26 14:59:54"
},
"CardInfo": {
"Gwsr": 10735183,
"ProcessDate": "2018/09/26 14:59:54",
"AuthCode": "777777",
"Amount": 100,
"Eci": 2,
"Card4No": "2222",
"Card6No": "491122",
"RedDan": 0,
"RedOkAmt": 0,
"RedYet": 0
}
}
YAML
提供的 YAML 文件用於定義 API 的配置、結構、操作和基礎設施管理等資訊,方便開發人員理解和使用 API。
openapi: 3.1.0
info:
title: ECPay Query Order API
version: 1.0.0
servers:
- url: https://ecpayment-stage.ecpay.com.tw
description: Testing environment
- url: https://ecpayment.ecpay.com.tw
description: Production environment
paths:
/Cashier/QueryTrade:
post:
summary: Query order information
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
MerchantID:
type: string
maxLength: 10
description: Merchant ID
RqHeader:
type: object
properties:
Timestamp:
type: integer
description: Transmission timestamp
Data:
type: string
description: Encrypted data
required:
- MerchantID
- RqHeader
- Data
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
MerchantID:
type: string
maxLength: 10
description: Merchant ID
RpHeader:
type: object
properties:
Timestamp:
type: integer
description: Response timestamp
TransCode:
type: integer
description: Transmission code
TransMsg:
type: string
maxLength: 200
description: Transmission message
Data:
type: string
description: Encrypted data
components:
schemas:
Data:
type: object
properties:
RtnCode:
type: integer
description: Transaction status code
RtnMsg:
type: string
maxLength: 200
description: Response message
MerchantID:
type: string
maxLength: 10
description: Merchant ID
MerchantTradeNo:
type: string
maxLength: 20
description: Merchant trade number
TradeNo:
type: string
maxLength: 20
description: ECPay trade number
TradeAmt:
type: integer
description: Trade amount
TradeDate:
type: string
maxLength: 20
description: Trade date
PaymentType:
type: string
maxLength: 20
description: Payment type
PaymentDate:
type: string
maxLength: 20
description: Payment date
ChargeFee:
type: number
description: Charge fee
TradeStatus:
type: string
maxLength: 8
description: Trade status
CardInfo:
type: object
properties:
AuthCode:
type: string
maxLength: 6
description: Authorization code
Gwsr:
type: integer
description: GWSR
ProcessDate:
type: string
maxLength: 20
description: Process date
Amount:
type: integer
description: Amount
Stage:
type: integer
description: Installment stage
Stast:
type: integer
description: First installment amount
Staed:
type: integer
description: Each installment amount
Eci:
type: integer
description: 3D secure ECI value
Card6No:
type: string
maxLength: 6
description: First six digits of card number
Card4No:
type: string
maxLength: 4
description: Last four digits of card number
RedDan:
type: integer
description: Redeem points used
RedOkAmt:
type: integer
description: Actual redeem amount
RedYet:
type: integer
description: Remaining redeem points
PeriodType:
type: string
maxLength: 1
description: Period type
Frequency:
type: integer
description: Execution frequency
ExecTimes:
type: integer
description: Execution times
PeriodAmount:
type: integer
description: Period amount
TotalSuccessTimes:
type: integer
description: Total successful executions
TotalSuccessAmount:
type: integer
description: Total successful amount
IssuingBank:
type: string
maxLength: 30
description: Issuing bank name
IssuingBankCode:
type: string
maxLength: 10
description: Issuing bank code
CustomField:
type: string
maxLength: 200
description: Custom field