應用場景
提供廠商選擇使用虛擬帳號取號功能,可指定銀行及有效期限。
注意事項:虛擬帳號為一次性繳費,請勿重覆繳費或分次繳費。廠商可於系統加上此說明,以避免消費者的錯誤操作。
API介接網址
- 正式環境:https://ecpayment.ecpay.com.tw/1.0.0/Cashier/GenPaymentCode
- 測試環境:https://ecpayment-stage.ecpay.com.tw/1.0.0/Cashier/GenPaymentCode
HTTPS 傳輸協定
- Content Type:application/json
- HTTP Method:POST
特店Request參數說明 (Json格式)
MerchantID String(20)
特店編號 必填
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
PlatformID String(10)
特約合作平台商代號
- 為專案合作的平台商使用
- 一般特店或平台商本身介接,則參數請帶空值
- 專案合作平台商的特店使用時,參數請帶平台
商所綁的特店編號 MerchantID
MerchantID String(10)
特店編號 必填
ChoosePayment String(20)
付款方式 必填
- CVS : 超商代碼
- BARCODE : 超商條碼
- ATM: 虛擬帳號
OrderInfo Object
訂單資訊 必填
MerchantTradeDate String(20)
特店交易時間 必填
格式為 yyyy/MM/dd HH:mm:ss
MerchantTradeNo String(20)
特店訂單編號 必填
- 特店訂單編號均為唯一值,不可重複使用
- 格式僅支援英數字a-zA-z0-9,且不支援全型文字
TotalAmount Int
交易金額 必填
- 請帶整數,不可有小數點
- 僅限新台幣。各付款金額的限制,請參考賣家會員服務介紹
ReturnURL String(200)
付款回傳結果 必填
當消費者付款完成後,綠界會將付款結果參數以幕後(Server POST) 回傳到該網址。詳細說明請參考付款結果通知。
注意事項:
- 請在收到 Server 端付款結果通知後,請正確回應 1|OK 給綠界
- 1|OK 僅是特店回應綠界是否收到通知,並不會改變付款狀態
TradeDesc String(200)
交易描述 必填
請勿傳入超過長度 200 的內容,避免該欄位資訊被截斷
ItemName String(400)
商品名稱 必填
- 商品名稱以分隔線#分開
- 請勿傳入超過長度 400 的內容,避免該欄位資訊被截斷
Remark String(200)
備註
ATMInfo Object
ATM資訊
ExpireDate Int
允許繳費有效天數
- 當 ChoosePaymentList 為 0 或 3 ,此欄位必填
- 以天數為單位,預設為 3 天。最長可設定為 60 天,最短 1 天。
ATMBankCode String(10)
ATM銀行代碼
- 可指定一個欲使用的繳費銀行,綠界支援的銀行請參考銀行代碼表
- 若未傳入或傳入銀行代碼銀行不支援時,依綠界預設銀行為主
注意事項:選擇第一銀行007/中國信託822/板信銀行118/國泰世華013等銀行時,會回傳繳款人匯款帳號資訊,提供廠商進行檢核比對。
CustomField String(200)
自訂欄位
- 提供特店使用客制化欄位
- 請勿傳入超過長度 200 的內容,避免該欄位資訊被截斷
Data參數範例(Json格式)
{
"MerchantID": "3002607",
"RememberCard": 1,
"PaymentUIType": 2,
"ChoosePayment": "CVS",
"OrderInfo": {
"MerchantTradeNo": "20180914001",
"MerchantTradeDate": "2020/09/26 14:49:12",
"TotalAmount": 100,
"ReturnURL": "https://yourReturnURL.com"
},
"ATMInfo": {
"ExpireDate": 3
}
}
綠界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)
綠界交易編號
請保存綠界的交易編號與特店交易編號MerchantTradeNo的關聯。
TradeDate String(20)
訂單成立時間
格式為 yyyy/MM/dd HH:mm:ss
ATMInfo Object
虛擬帳號
ExpireDate String(20)
繳費期限
格式為yyyy/MM/dd
BankCode String(3)
繳費銀行代碼
vAccount String(16)
繳費虛擬帳號
CustomField String(200)
自訂欄位
提供特店使用客制化欄位
Data參數範例(Json格式)
{
"RtnCode": 1,
"RtnMsg": "Success",
"MerchantID": "3002607",
"OrderInfo": {
"MerchantTradeNo": "20180914001",
"TradeNo": "1809261503338172",
"TradeDate" :"2018/09/26 14:59:54"
},
"ATMInfo": {
"vAccount": "123456789",
"BankCode": "000",
"ExpireDate": "2018/09/26 14:59:54"
}
}