取得廠商驗證碼 / 付款

應用場景

在使用綠界站內付 2.0 金流服務之前,特店 Server 必須先向綠界 Server 取得一組廠商驗證碼(Token)。特店 Server 得到驗證碼後,必須將驗證碼傳給特店 Web 做產生站內付 2.0 金流畫面功能之用。

API介接網址

  • 測試環境: https://ecpg-stage.ecpay.com.tw/Merchant/GetTokenbyTrade
  • 正式環境: https://ecpg.ecpay.com.tw/Merchant/GetTokenbyTrade

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

PlatformID String(10)
特約合作平台商代號 

  • 為專案合作的平台商使用
  • 一般特店或平台商本身介接,則參數請帶空值
  • 專案合作平台商的特店使用時,參數請帶平台商所綁的特店編號 MerchantID

❗ 注意事項:如果有帶入此參數,則外層MerchantID必須與PlatformID帶入相同值。

MerchantID String(10)
特店編號 必填

RememberCard Int
是否使用記憶卡號 必填

  • 0 : 否
  • 1 : 是

PaymentUIType Int
付款畫面呈現方式 必填

此欄位為指定付款頁面呈現方式,綠界會依據傳送的內容顯示畫面

  • 0 : 信用卡定期定額
  • 2 : 付款選擇清單頁

❗ 注意事項

  • 定期定額功能不支援銀聯卡
  • 定期定額是否支援海外卡,是依照特店是否設定開通海外卡功能而定
  • 定期定額支援的信用卡種類為 VISA, JCB, MASTER

ChoosePaymentList String(30)
付款選擇清單頁的清單項目 

PaymentUIType  2 ,此參數必填。選項內容可多選(ex: 1,2,3) 

  • 0 : 全部付款方式
  • 1 : 信用卡一次付清
  • 2 : 信用卡分期付款
  • 3 : ATM
  • 4 : 超商代碼
  • 5 : 超商條碼
  • 6 : 銀聯卡
  • 7 : Apple Pay
  • 8 : 信用卡圓夢彈性分期
❗ 注意事項
  • Web 版 Apple Pay 無需申請 Apple Developer 帳號
  • 如欲使用 Apple Pay 模擬付款,請參考 Apple Pay 模擬付款詳細說明
  • 如串接身分為ECTicket賣家,可使用的付款方式請以廠商後台>合約及費率>金流頁籤顯示為主。

OrderInfo Object
訂單資訊 必填

MerchantTradeDate String(20)
特店交易時間 必填

格式為 yyyy/MM/dd HH:mm:ss

MerchantTradeNo String(20)
特店訂單編號 必填

  • 特店訂單編號均為唯一值,不可重複使用
  • 格式僅支援英數字a-zA-z0-9,且不支援全型文字
❗ 注意事項:如何避免訂單編號重複請參考 FAQ

TotalAmount Int
交易金額 必填

  • 請帶整數,不可有小數點
  • 僅限新台幣。交易金額不可超過20萬,其餘各付款金額的限制,請參考會員服務介紹

ReturnURL String(200)
付款回傳結果 必填

當消費者付款完成後,綠界會將付款結果參數以幕後(Server POST) 回傳到該網址。詳細說明請參考付款結果通知

❗ 注意事項

  • 請勿設定與 Client 端接收付款結果網址 OrderResultURL 相同位置,避免程式判斷錯誤
  • 請在收到 Server 端付款結果通知後,請正確回應 1|OK 給綠界
  • 1|OK 僅是特店回應綠界是否收到通知,並不會改變付款狀態

TradeDesc String(200)
交易描述 必填

請勿傳入超過長度 200 的內容,避免該欄位資訊被截斷

ItemName String(400)
商品名稱 必填

  • 商品名稱以分隔線#分開
  • 請勿傳入超過長度 200 的內容,避免該欄位資訊被截斷

CardInfo Object
信用卡資訊 

Redeem String(1)
信用卡紅利 

預設為不使用

  • 0: 不使用
  • 1:  使用

PeriodAmount Int
定期定額授權金額 

PaymentUIType0 時,此欄位必填

PeriodType String(1)
定期定額週期種類

PaymentUIType0 時,此欄位必填

  • D:以天為週期
  • M:以月為週期
  • Y:以年為週期

Frequency Int
定期定額執行頻率

PaymentUIType0 時,此欄位必填

❗ 注意事項

  • 至少要大於等於 1 次以上
  • PeriodType 設為 D 時,最多可設 1~365(天)
  • PeriodType 設為 M 時,最多可設 1~12(月)
  • PeriodType 設為 Y 時,最多可設 1

❗ 注意事項:

  • PeriodType 設為 DM 時,扣款日期為以當月是否有那一號做判斷,若無則以當月的最後一天扣款

ExecTimes Int
執行次數 

PaymentUIType0 時,此欄位必填。此參數用來定義總共要執行幾次。

❗ 注意事項:

  1. 當 PeriodType 設為 D 時,最多可設 999 次。
  2. 當 PeriodType 設為 M 時,最多可設 99 次。
  3. 當 PeriodType 設為 Y 時,最多可設 9 次。

OrderResultURL String(200)
3D驗證回傳付款結果網址

符合以下情況,此欄位為必填:

  • PaymentUIType 為 01
  • PaymentUIType 為 2ChoosePaymentList 為 012

❗ 注意事項:使用 3D 驗證時,當消費者付款完成後,綠界會將付款結果參數以前端頁面轉導的方式回傳到該網址。回傳參數請參考付款結果通知章節。

PeriodReturnURL String(200)
定期定額執行結果回應網址

  • PaymentUIType0 時,此欄位必填
  • 若交易為信用卡定期定額的方式,則每次執行授權結束後,會將定期定額授權結果回傳到這個設定的網址
  • 請使用網域名稱(Domain Name SystemDNS),請勿使用IP

CreditInstallment String(20)
刷卡分期期數

ChoosePaymentList02時,此欄位為必填。欲支援多期數時,請以逗號分隔 ex: 3,6,12,18,24

FlexibleInstallment String(20)
圓夢彈性分期期數

ChoosePaymentList08時,此欄位為必填。可帶入期數為 30

❗ 注意事項:交易金額須大於圓夢彈性分期最低交易金額,特店的最低交易金額可於廠商後台查詢。

UnionPayInfo Object
銀聯卡資訊 

ChoosePaymentList 為 06 ,此欄位必填

OrderResultURL String(200)
銀聯卡驗證回傳付款結果網址

  • 使用銀聯卡付款時,當消費者付款完成後,綠界會將付款結果參數以前端頁面轉導的方式回傳到該網址。
  • 回傳參數請參考付款結果通知章節

ATMInfo Object
ATM資訊 

ExpireDate Int
允許繳費有效天數

  • ChoosePaymentList03 ,此欄位必填
  • 天數為單位,預設為 3 天。最長可設定為 60 天,最短 1 天。

❗ 注意事項:以天為單位,例如7/1號訂單成立,有效天數設為3天,則到期日為7/4 23:59截止。

ATMBankCode String(10)
ATM銀行代碼

  • 可指定一個欲使用的繳費銀行,綠界支援的銀行請參考銀行代碼表
  • 如無須指定,系統預設為特店申請的ATM繳費銀行

CVSInfo Object
超商代碼資訊 

StoreExpireDate Int
超商繳費截止時間

  • ChoosePaymentList04 ,此欄位必填
  • 分鐘為單位,預設為 10080 分鐘 (7天) 。不可超過 43200 分鐘(30天),超過時一律以 43200 分鐘計算

❗ 注意事項:舉例 08/01 的 20:15 分購買商品,繳費期限為 7 天,表示 08/08 的 20:15 分前您必須前往超商繳費。

CVSCode String(10)
超商代碼

  • CVS : 超商代碼(不指定超商),此為預設值
  • OK : OK 超商代碼
  • FAMILY: 全家超商
  • HILIFE : 萊爾富超商
  • IBON : 7 – 11 ibon 

Desc_1 String(20)
交易描述_1

CVSCodeFAMILYIBON 時,會顯示在超商繳費平台螢幕上

Desc_2 String(20)
交易描述_2

CVSCodeFAMILYIBON 時,會顯示在超商繳費平台螢幕上

Desc_3 String(20)
交易描述_3

CVSCodeFAMILYIBON 時,會顯示在超商繳費平台螢幕上

Desc_4 String(20)
交易描述_4

CVSCodeFAMILYIBON 時,會顯示在超商繳費平台螢幕上

BarcodeInfo Object
超商條碼資訊 

StoreExpireDate Int
超商繳費截止時間

  • ChoosePaymentList05 ,此欄位必填
  • 為單位,預設為 7 天
  • 若需設定最長 30 天,最短1天。

❗ 注意事項:以天為單位,若要設定超過30天時,限特約賣家跟業務提出申請。

ConsumerInfo Object
消費者資訊 必填

當特店擁有自己的會員系統時,可將會員資料帶入

MerchantMemberID String(60)
消費者會員編號

  • 請帶入特店的會員編號
  • RememberCard1 時,此欄位必填

Email String(30)
信用卡持卡人電子信箱 必填

與Phone參數擇一必填

❗ 注意事項:檢核規則請參考正規表達式“^([a-zA-Z\d._%+-]+@[a-zA-Z\d.-]+\.[a-zA-Z]{2,6})*$”;

Phone String(60)
信用卡持卡人電話 必填

與Email參數擇一必填。可帶入國碼,但不可帶入+號。ex:886912345678

❗ 注意事項:若非台灣手機號碼,請在電話號碼前帶入國碼

Name String(50)
信用卡持卡人姓名

  • 該欄位可接受中文、英文與部分特殊符號
  • 可支援的特殊符號為 : , . () / –

CountryCode String(3)
國別碼

  • 持卡人帳單地址國別碼,請參考 ISO3166
  • 臺灣請填寫 158

Address String(50)
地址

請帶入持卡人帳單地址

CustomField String(200)
自訂欄位 

  • 提供特店使用客制化欄位
  • 請勿傳入超過長度 200 的內容,避免該欄位資訊被截斷

Data參數範例(Json格式)

				
					{
    "MerchantID": "3002607",
    "RememberCard": 1,
    "PaymentUIType": 2,
    "ChoosePaymentList": "1,2,3",
    "OrderInfo": {
        "MerchantTradeNo": "20180914001",
        "MerchantTradeDate": "2020/09/26 14:49:12",
        "TotalAmount": 100,
        "ReturnURL": "https://yourReturnURL.com"
   },
    "CardInfo": {
        "OrderResultURL": "https://yourOrderResultURL.com",
        "CreditInstallment": "3,6,9,12"
    },
    "ATMInfo": {
        "ExpireDate": 3
    },
    "ConsumerInfo": {
        "MerchantMemberID": "test123456",
        "Email": "customer@email.com",
        "Phone": "0912345678",
        "Name": "Test",
        "CountryCode": "158"
    }
} 

				
			

綠界Response參數說明 (Json格式)

MerchantID String(10)
特店編號 

RpHeader Object
回傳資料 

Timestamp Number
回傳時間 

時間戳 Unix timestamp

TransCode Int
回傳代碼 

TransMsg String(200)
回傳訊息 

Data String
加密資料 

綠界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)
特店編號

Token String(64)
交易代碼

TokenExpireDate String(20)
交易代碼到期時間

格式為 yyyy/MM/dd HH:mm:ss

Data參數範例(Json格式)

				
					{
    "RtnCode": 1,
    "RtnMsg": "Success",
    "PlatformID": "1234567890",
    "MerchantID": "1234567890",
    "Token": "m12dae4846446sq",
    "TokenExpireDate": "2020/09/18 15:39:10"
}
				
			

Copyright © Green World FinTech Service Co., Ltd. All rights reserved.

綠界官方網站