應用場景
當收到訂單授權成功,透由 查詢信用卡單筆明細記錄API取得[交易狀態],再依[交易狀態]發動欲執行動作。
- 「關帳」:授權請/退款。
- 「退刷」:在系統關帳或自行關帳後,可修改訂單金額。
- 「取消」:可用於取消關帳,訂單將會回復到前一個的狀態。
- 「放棄」:適用在關帳前放棄此筆交易,不做請款一律會以訂單全額進行退款
注意事項:
- 若「每日自動關帳」開啟時,每天 20:15 ~ 20:30 請勿執行此API。綠界依關帳後的金額向銀行請/退款。
- 此API不支援定期定額「停用收款」功能,若要停用定期定額收款請使用定期定額訂單作業API或登入廠商後台進行操作,系統路徑為信用卡收單>定期定額查詢>明細/編輯。
- 若於廠商後台將系統「每日自動關帳」關閉以後,訂單仍須於21天內完成關帳作業,若於21天內未完成手動關帳作業,後續將無法以API方式進行關帳;至第80天仍未手動關帳,將發送信用卡未完成關帳通知;超過90天系統會將未關帳訂單進行放棄作業,不作請款。
- 若關帳產生錯誤訊息「error_overDate」須通知客服協助關帳。
- 若為銀聯卡交易時,授權完成系統會立即關帳。
- 退刷修改上限為訂單金額。
- 分期交易一定得全額退刷,一般授權才能作部份金額退刷。
- 紅利折抵交易須全額退刷,僅一般交易才可退刷部分金額。
- 如帳戶餘額低於退刷金額,將無法退刷,建議留存一定金額於綠界帳戶或至廠商後台預存綠界帳戶餘額供退刷之用。如遇無法退刷,請參考FAQ。
API介接網址
- 測試環境:因無法提供實際授權,故無法使用此API
- 正式環境:https://payment.ecpay.com.tw/CreditDetail/DoAction
HTTPS 傳輸協定
- Content Type :application/x-www-form-urlencoded
- HTTP Method :POST
特店傳入參數說明
MerchantID String(10)
特店編號(由綠界提供) 必填
MerchantTradeNo String(20)
特店交易編號 必填
訂單產生時傳送給綠界的特店交易編號。
TradeNo String(20)
綠界交易編號 必填
請保存綠界的交易編號與特店交易編號[MerchantTradeNo]的關連。
Action String(1)
執行動作 必填
針對訂單做處理的動作,例如要對訂單做關帳時,請帶C。
- 若要執行關帳時,參數請帶:C
- 若要執行退刷時,參數請帶:R
- 若要執行取消時,參數請帶:E
- 若要執行放棄時,參數請帶:N
TotalAmount Int
金額 必填
CheckMacValue String
檢查碼 必填
請參考附錄檢查碼機制
PlatformID String(10)
特約合作平台商代號 非必填
為專案合作的平台商使用。
- 一般特店或平台商本身介接,則參數請帶放空值。
- 若為專案合作平台商的特店使用時,則參數請帶平台商所綁的特店編號[MerchantID]。
綠界回傳參數說明
MerchantID String(10)
特店編號
MerchantTradeNo String(20)
特店交易編號
訂單產生時傳送給綠界的特店交易編號。
TradeNo String(20)
綠界交易編號
RtnCode Int
交易狀態
回傳值:
若為1時代表成功,其餘為失敗
RtnMsg String(200)
交易訊息 必填
YAML
提供的 YAML 文件用於定義 API 的配置、結構、操作和基礎設施管理等資訊,方便開發人員理解和使用 API。
openapi: 3.1.0
info:
title: ECPay Credit Card Refund API
version: 1.0.0
servers:
- url: https://payment.ecpay.com.tw
description: Production Environment
paths:
/CreditDetail/DoAction:
post:
summary: Perform actions on a credit card transaction
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
TradeNo:
type: string
description: ECPay trade number
Action:
type: string
description: Action to be performed (C for Close, R for Refund, E for Cancel, N for Abandon)
TotalAmount:
type: integer
description: Amount
CheckMacValue:
type: string
description: CheckMac value for verification
PlatformID:
type: string
description: Partner platform ID
required:
- MerchantID
- MerchantTradeNo
- TradeNo
- Action
- TotalAmount
- 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)
RtnMsg:
type: string
description: Transaction message