應用場景
特店進行信用卡定期定額訂單查詢作業,可查詢每一次的授權明細。
- Step 1. 特店:以Server POST方式傳送以下參數至API網址。
- Step 2. 綠界:接受並檢核正確後,回傳信用卡定期定額訂單資訊。
API介接網址
- 測試環境:https://payment-stage.ecpay.com.tw/Cashier/QueryCreditCardPeriodInfo
- 正式環境:https://payment.ecpay.com.tw/Cashier/QueryCreditCardPeriodInfo
HTTPS 傳輸協定
- Content Type :application/x-www-form-urlencoded
- HTTP Method :POST
特店傳入參數說明
MerchantID String(10) 必填
特店編號(由綠界提供) 必填
MerchantTradeNo String(20)
特店交易編號 必填
訂單產生時傳送給綠界的特店交易編號。
TimeStamp Int
驗證時間 必填
- 將當下的時間轉為UnixTimeStamp(見範例)用於驗證此次介接的時間區間。
- 綠界驗證時間區間暫訂為 3 分鐘內有效,超過則此次介接無效。 參考資料:http://www.epochconverter.com/。
CheckMacValue String
檢查碼 必填
請參考附錄檢查碼機制與產生檢查碼範例程式。
PlatformID String(10)
特約合作平台商代號 非必填
為專案合作的平台商使用。
- 一般特店或平台商本身介接,則參數請帶放空值。
- 若為專案合作平台商的特店使用時,則參數請帶平台商所綁的特店編號[MerchantID]。
綠界回傳參數說明
MerchantID String(10)
特店編號
MerchantTradeNo String(20)
特店交易編號
訂單產生時傳送給綠界的特店交易編號。
TradeNo String(20)
綠界交易編號
首次授權所產生的綠界交易編號
RtnCode Int
交易狀態
回傳值為1時代表授權成功,其餘為失敗,失敗代碼請參考交易訊息代碼一覽表
PeriodType String(1)
週期種類
訂單設定的週期種類
Frequency Int
執行頻率
訂單設定的執行頻率
ExecTimes Int
執行次數
訂單設定的執行次數
PeriodAmount Int
每次授權金額
訂單設定每次要授權金額
amount Int
首次授權金額
首次授權所產生的金額
gwsr Int
首次授權交易單號
首次授權所產生的交易單號
process_date String(20)
首次授權成功處理時間
首次授權的時間
格式為yyyy/MM/dd HH:mm:ss
auth_code String(6)
首次交易授權碼
首次授權所產生的授權碼
card4no String(4)
卡片的末4碼
卡片的末四碼
card6no String(6)
卡片的前六碼
卡片的前六碼
TotalSuccessTimes Int
已成功授權次數合計
目前已成功授權的次數
TotalSuccessAmount Int
已成功授權總金額
已成功授權總金額
ExecStatus String(1)
執行狀態
- 若為0時代表已終止
- 若為1時代表執行中
- 若為2時代表執行完成
ExecLog Array
每次授權明細
- 每一次的授權紀錄。
- 例如,若已成功授權3次(TotalSuccessTimes為3),則會顯示3筆授權紀錄。
RtnCode Int
交易狀態
若回傳值時為1時代表授權成功,其餘為失敗,失敗代碼請參考交易訊息代碼一覽表
amount Int
授權金額
所授權的金額
gwsr Int
授權交易單號
所授權的交易單號
process_date String(20)
授權成功處理時間
格式為yyyy/MM/dd HH:mm:ss
auth_code String(6)
授權碼
TradeNo String(20)
綠界交易編號
請保存綠界的交易編號與特店交易編號[MerchantTradeNo]的關連
回傳範例(為方便說明,以下的回傳範例經過排版)
{
"MerchantID":"1050123",
"MerchantTradeNo":"ecpay1234",
"TradeNo":"20140721173014442498",
"RtnCode":1,
"PeriodType":"D",
"Frequency":1,
"ExecTimes":12,
"PeriodAmount":1000,
"amount":1000,
"gwsr":24548751,
"process_date":"2014/07/21 17:35:45",
"auth_code":"237523",
"card4no":"2369",
"card6no":"523782",
"TotalSuccessTimes":3,
"TotalSuccessAmount":3000,
"ExecStatus":"1",
"ExecLog":
[
{"RtnCode":1,"amount":1000,"gwsr":24548751,"process_date":"2014/07/21 17:35:45","auth_code":"237523","TradeNo":"20140721173014442498"},
{"RtnCode":1,"amount":1000,"gwsr":24549277,"process_date":"2014/07/22 01:12:30","auth_code":"185279","TradeNo":"20140722011230346534"},
{"RtnCode":1,"amount":1000,"gwsr":24552639,"process_date":"2014/07/23 01:12:25","auth_code":"693851","TradeNo":"20140723011225646424"}
]
}
YAML
提供的 YAML 文件用於定義 API 的配置、結構、操作和基礎設施管理等資訊,方便開發人員理解和使用 API。
openapi: 3.1.0
info:
title: ECPay Credit Card Periodic Order Query API
version: 1.0.0
servers:
- url: https://payment.ecpay.com.tw
description: Production Environment
- url: https://payment-stage.ecpay.com.tw
description: Testing Environment
paths:
/Cashier/QueryCreditCardPeriodInfo:
post:
summary: Query periodic order information
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
MerchantID:
type: string
description: Merchant ID provided by ECPay
MerchantTradeNo:
type: string
description: Merchant trade number
TimeStamp:
type: integer
description: Unix timestamp of the request
CheckMacValue:
type: string
description: CheckMac value for verification
PlatformID:
type: string
description: Partner platform ID
required:
- MerchantID
- MerchantTradeNo
- TimeStamp
- CheckMacValue
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
MerchantID:
type: string
description: Merchant ID
MerchantTradeNo:
type: string
description: Merchant trade number
TradeNo:
type: string
description: ECPay trade number
RtnCode:
type: integer
description: Transaction status code (1 for success, others for failure)
PeriodType:
type: string
description: Period type of the order
Frequency:
type: integer
description: Execution frequency of the order
ExecTimes:
type: integer
description: Number of executions of the order
PeriodAmount:
type: integer
description: Amount for each execution
amount:
type: integer
description: Amount for the first authorization
gwsr:
type: integer
description: Transaction serial number for the first authorization
process_date:
type: string
description: Process date of the first authorization (yyyy/MM/dd HH:mm:ss)
auth_code:
type: string
description: Authorization code of the first transaction
card4no:
type: string
description: Last 4 digits of the card number
card6no:
type: string
description: First 6 digits of the card number
TotalSuccessTimes:
type: integer
description: Total number of successful authorizations
TotalSuccessAmount:
type: integer
description: Total amount of successful authorizations
ExecStatus:
type: string
description: Execution status (0: terminated, 1: in progress, 2: completed)
ExecLog:
type: array
items:
type: object
properties:
RtnCode:
type: integer
description: Transaction status code
amount:
type: integer
description: Authorized amount
gwsr:
type: integer
description: Transaction serial number
process_date:
type: string
description: Process date (yyyy/MM/dd HH:mm:ss)
auth_code:
type: string
description: Authorization code
TradeNo:
type: string
description: ECPay trade number