應用場景
特店提供消費者在綠界付款頁面自己選擇付款方式時
- Step 1. 特店:將ChoosePayment 選擇預設付款方式設定為ALL。
- Step 2. 綠界:接受特店訂單並檢核資料,依特店開通的付款方式顯示付款選擇頁。
注意事項:ChoosePayment 選擇預設付款方式設定為ALL時,如果有特定要呈現的付款方式可以參考IgnorePayment 參數。
API介接網址
- 測試環境:https://payment-stage.ecpay.com.tw/Cashier/AioCheckOut/V5
- 正式環境:https://payment.ecpay.com.tw/Cashier/AioCheckOut/V5
注意事項:需透過前端網頁導轉(Submit)到綠界付款API網址。
HTTPS 傳輸協定
- Content Type :application/x-www-form-urlencoded
- HTTP Method :POST
特店傳入參數說明
MerchantTradeNo String(20)
特店訂單編號 必填
- 特店訂單編號均為唯一值,不可重複使用。
- 英數字大小寫混合
MerchantTradeDate String(20)
特店交易時間 必填
格式為:yyyy/MM/dd HH:mm:ss
PaymentType String(20)
交易類型 必填
請固定填入 aio
TotalAmount Int
交易金額 必填
- 請帶整數,不可有小數點。
- 僅限新台幣
TradeDesc String(200)
交易描述 必填
請勿帶入特殊字元。
ItemName String(400)
商品名稱 必填
- 如果商品名稱有多筆,需在金流選擇頁一行一行顯示商品名稱的話,商品名稱請以符號#分隔。
- 商品名稱字數限制為中英數400字內,超過此限制系統將自動截斷。 詳細的使用注意事項請參考FAQ。
ReturnURL String(200)
付款完成通知回傳網址 必填
- ReturnURL為付款結果通知回傳網址,為特店server或主機的URL,用來接收綠界後端回傳的付款結果通知。
- 當消費者付款完成後,綠界會將付款結果參數以幕後回傳到該網址。詳細說明請參考付款結果通知
注意事項:
- 請勿設定與Client端接收付款結果網址OrderResultURL相同位置,避免程式判斷錯誤。
- ReturnURL收到綠界後端回傳的付款結果通知後,請回應字串1|OK給綠界。
- 1|OK僅是廠商回應綠界是否收到通知,並不會改變付款狀態。
- 參數內容若有包含%26(&)及%3C(<) 這二個值時,請先進行urldecode() 避免呼叫API失敗。
ChoosePayment String(20)
選擇預設付款方式 必填
綠界提供下列付款方式:
- ALL:不指定付款方式,由綠界顯示付款方式選擇頁面。
- 若為手機版時不支援下列付款方式:WebATM
- 如需要不透過綠界畫面取得ATM、CVS、BARCODE的繳費代碼,請參考如何不經過綠界畫面取得ATM、CVS、BARCODE的繳費代碼。
- 當瀏覽器不為Safari時,不會顯示Apple Pay付款功能。
CheckMacValue String
檢查碼 必填
請參考檢查碼機制
EncryptType Int
CheckMacValue加密類型 必填
請固定填入1,使用SHA256加密。
StoreID String(10)
特店旗下店舖代號
提供特店填入分店代號使用,僅可用英數字大小寫混合。
ClientBackURL String(200)
Client端返回特店的按鈕連結
消費者點選此按鈕後,會將頁面導回到此設定的網址
注意事項:
- 導回時不會帶付款結果到此網址,只是將頁面導回而已。
- 設定此參數,綠界會在付款完成或取號完成頁面上顯示[返回商店]的按鈕。
- 設定此參數,發生簡訊OTP驗證失敗時,頁面上會顯示[返回商店]的按鈕。
- 若未設定此參數,則綠界付款完成頁或取號完成頁面,不會顯示[返回商店]的按鈕。
- 若導回網址未使用https時,部份瀏覽器可能會出現警告訊息。
- 參數內容若有包含%26(&)及%3C(<) 這二個值時,請先進行urldecode() 避免呼叫API失敗。
ItemURLString(200)
商品銷售網址
Remark String(100)
備註欄位
ChooseSubPayment String(20)
付款子項目
若設定此參數,建立訂單將轉導至綠界訂單成立頁,依設定的付款方式及付款子項目帶入訂單,無法選擇其他付款子項目。請參考付款方式一覽表
注意事項:因板信銀行會於每月進行例行維護,當遇銀行維護時,將會建立訂單失敗。
OrderResultURL String(200)
Client端回傳付款結果網址
有別於ReturnURL (server端的網址),OrderResultURL為特店的client端(前端)網址。消費者付款完成後,綠界會將付款結果參數以POST方式回傳到到該網址。詳細說明請參考付款結果通知。
注意事項:
- 若與[ClientBackURL]同時設定,將會以此參數為主。
- 銀聯卡及非即時交易( ATM、CVS、BARCODE )不支援此參數。
- 付款結果通知請依ReturnURL (server端的網址)為主,避免因前端操作或網路問題未收到OrderResultURL 特店的client端(前端)的通知。
- 參數內容若有包含%26(&)及%3C(<) 這二個值時,請先進行urldecode() 避免呼叫API失敗。
NeedExtraPaidInfo String(1)
是否需要額外的付款資訊
額外的付款資訊
- 若不回傳額外的付款資訊時,參數值請傳:N;
- 若要回傳額外的付款資訊時,參數值請傳:Y ,付款完成後綠界後端會以POST方式回傳額外付款資訊到特店的ReturnURL 與OrderResultURL。
注意事項:回傳額外付款資訊參數請參考-額外回傳的參數
IgnorePayment String(100)
隱藏付款方式
當付款方式[ChoosePayment]為ALL時,可隱藏不需要的付款方式,多筆請以井號分隔 (#)。
可用的參數值:
- Credit:信用卡
- ApplePay : Apple Pay
- WebATM:網路ATM
- ATM:自動櫃員機
- CVS:超商代碼
- BARCODE:超商條碼
- TWQR : 行動支付
- BNPL:裕富無卡分期
注意事項:綠界付款方式會不斷增加及調整,為避免因新付款方式造成接收付款結果通知失敗,建議串接時付款方式[ChoosePayment]固定指定付款方式。
PlatformID String(10)
特約合作平台商代號
為專案合作的平台商使用。
CustomField1 String(50)
自訂名稱欄位1
提供合作廠商使用記錄客製化欄位。
CustomField2 String(50)
自訂名稱欄位2
提供合作廠商使用記錄客製化欄位。
CustomField3 String(50)
自訂名稱欄位3
提供合作廠商使用記錄客製化欄位。
CustomField4 String(50)
自訂名稱欄位4
提供合作廠商使用記錄客製化欄位。
Language String(3)
語系設定
預設語系為中文,若要變更語系參數值請帶:
- ENG:英語
- KOR:韓語
- JPN:日語
- CHI:簡體中文
信用卡一次付清參數
Redeem String(1)
信用卡是否使用紅利折抵 非必填
- 設為 Y 時,當綠界特店選擇信用卡付款時,會進入紅利折抵的交易流程。
UnionPay Int
銀聯卡交易選項 非必填
可帶入以下選項:
- 0:消費者於交易頁面可選擇是否使用銀聯交易。
- 1:只使用銀聯卡交易,且綠界會將交易頁面直接導到銀聯網站。
- 2:不可使用銀聯卡,綠界會將交易頁面隱藏銀聯卡選項。
注意事項:
- 若需使用銀聯卡服務,請與綠界提出申請方可使用
- 測試環境提供的驗證URL為綠界模擬測試頁面。
- 不支援信用卡分期付款及定期定額。
- 不支援信用卡紅利折抵
- 不支援信用卡記憶卡號功能
信用卡記憶卡號參數
BindingCard Int
記憶卡號 非必填
使用記憶信用卡
- 使用:請傳 1
- 不使用:請傳 0
MerchantMemberID String(30)
記憶卡號識別碼 非必填
- 記憶卡號識別碼 ( 特店代號MerchantID+特店會員系統的會員編號 )
注意事項:
- 「欲使用 BindingCard、MerchantMemberID 這兩個參數功能,特店必須有會員系統。」
- 若記憶卡號識別碼為平台商的會員識別碼時,要特別向綠界申請使用。
- 記憶卡號功能僅支援 Visa / MasterCard / JCB,不支援銀聯卡。
信用卡分期付款參數
CreditInstallment String(20)
刷卡分期期數
提供刷卡分期期數
- 一般分期:可用參數為:3,6,12,18,24
- 圓夢彈性分期:可用參數為: 30N,交易金額須大於圓夢彈性分期最低交易金額,最低交易金額可於廠商後台查詢
注意事項:
- 使用的期數必須先透過申請開通後方能使用,並以申請開通的期數為主。
- 不可以與信用卡定期定額、紅利折抵參數一起設定。
- 若使用分期付款功能,後續分期的款項會由銀行執行確認,相關銀行可使用分期期數請參考銀行分期期數。
- 欲在測試環境進行刷卡功能,請使用綠界提供的信用卡測試卡號進行模擬付款。
- 串接時請帶訂單的刷卡分期的總付款金額,無須自行計算各分期金額,除不盡的金額銀行會於第一期收取。舉例:總金額 1733元 分 6 期,除不盡的放第一期,293,288,288,288,288,288。
- 銀聯卡不支援分期付款方式。
- 若無設定刷卡分期期數時會自動改為信用卡一次付清。
信用卡定期定額參數
PeriodAmount Int
每次授權金額 必填
- 每次要授權(扣款)的金額。
注意事項:
- 綠界會依此次授權金額 [PeriodAmount] 所設定的金額做為之後固定授權的金額。
- 交易金額 [TotalAmount] 設定金額必須和授權金額 [PeriodAmount] 相同。
- 請帶整數,不可有小數點。僅限新台幣。
PeriodType String (1)
週期種類 必填
週期種類,可設定以天為扣款週期,或以月份為扣款週期。例如: PeriodType=D、Frequency=1、ExecTimes=5→此筆訂單將每日扣款1次、執行扣款5次後就結束不再扣款。
可設定以下參數:
- D:以天為週期
- M:以月為週期
- Y:以年為週期
Frequency Int
執行頻率 必填
- 此參數用來定義多久要執行一次。
注意事項:
- 當 PeriodType 設為 D 時,可設定值為 1~365 (天)。
- 當 PeriodType 設為 M 時,可設定值為 1~12 (月)。
- 當 PeriodType 設為 Y 時,只可設定值為 1 (年)。
ExecTimes Int
執行次數 必填
- 此參數用來定義總共要執行幾次。
- 當 PeriodType 設為 D 時,最多可設 999 次。
- 當 PeriodType 設為 M 時,最多可設 99 次。
- 當 PeriodType 設為 Y 時,最多可設 9 次。
PeriodReturnURL String (200)
定期定額的執行結果回應URL 非必填
- 若交易是信用卡定期定額的方式,則每次執行授權完,會將授權結果回傳到這個設定的URL。
- 回覆內容請參考付款結果通知。
- 請使用網域名稱(Domain Name System,DNS),請勿使用IP。
- 參數內容若有包含%26(&)及%3C(<) 這二個值時,請先進行urldecode() 避免呼叫API失敗。
注意事項:
- 不可以與信用卡分期參數一起使用。
- 每次授權金額相同。
- 若第一次授權失敗,此訂單將不會進入排程,請重新建立一筆訂單。
- 若未設定接收定期定額的執行結果回傳PeriodReturnURL時,請特店要自行到綠界廠商管理後台確認每次授權狀態為成功時,才進行出貨。綠界廠商管理後台查詢路徑:信用卡收單 >> 定期定額查詢,設定查詢條件,依據查詢結果點選要查的訂單的「明細/編輯」,可參考下方範例圖示。
- 詳細範例請參考定期定額範例說明II。
- 若要停用某一筆訂單的定期定額收款,有兩種方式: 請使用定期定額訂單作業,或登入綠界廠商管理後台停用此筆訂單,綠界廠商後台查詢路徑請參考下方圖示。
- 銀聯卡不支援信用卡定期定額。
- 是否支援海外卡,是依照特店是否設定開通海外卡功能而定。支援的信用卡種類為VISA, JCB, MASTER。
- 網址參數內容若urlencode內容值時,請先對內容進行urldecode 避免呼叫API失敗。
BARCODE付款參數
StoreExpireDate Int
超商繳費截止時間
- 若未設定此參數,預設為7天
- 若需設定最長 30 天,最短1天。
注意事項:以天為單位,例如7/1號訂單成立,有效天數設為3天,則到期日為7/4 23:59截止。若要設定超過30天時,限特約賣家跟業務提出申請。
PaymentInfoURL String(200)
Server端回傳付款相關資訊
- 若有設定此參數,訂單建立完成後(非付款完成),綠界會Server端背景回傳消費者付款方式相關資訊(例:銀行代碼、繳費虛擬帳號繳費期限…等)。請參考ATM、CVS或BARCODE的取號結果通知
注意事項:
- 頁面將會停留在綠界,顯示繳費的相關資訊。
- 回傳只有三段號碼,並不會回傳條碼圖,需自行轉換成code39的三段條碼。
- 參數內容若有包含%26(&)及%3C(<) 這二個值時,請先進行urldecode() 避免呼叫API失敗。
ClientRedirectURL String(200)
Client端回傳付款相關資訊
- 若有設定此參數,訂單建立完成後(非付款完成),綠界會Client端回傳消費者付款方式相關資訊(例:銀行代碼、繳費虛擬帳號繳費期限…等)且將頁面轉到特店指定的頁面。請參考ATM、CVS或BARCODE的取號結果通知
注意事項:
- 若設定此參數,將會使設定的返回特店的按鈕連結[ClientBackURL]失效。
- 若導回網址未使用https時,部份瀏覽器可能會出現警告訊息。
- 回傳只有三段號碼,並不會回傳條碼圖,需自行轉換成code39的三段條碼。
- 參數內容若有包含%26(&)及%3C(<) 這二個值時,請先進行urldecode() 避免呼叫API失敗。
CVS付款參數
StoreExpireDate Int
超商繳費截止時間
超商繳費截止時間
- 若未設定此參數,預設為10080分鐘
- 帶入數值不可超過43200分鐘,超過時一律以43200分鐘計(30天),例:08/01的20:15分購買商品,繳費期限為7天,表示8/08的20:15分前您必須前往超商繳費
注意事項:以分鐘為單位點。
PaymentInfoURL String(200)
Server端回傳付款相關資訊
- 若有設定此參數,訂單建立完成後(非付款完成),綠界會Server端背景回傳消費者付款方式相關資訊(例:銀行代碼、繳費虛擬帳號繳費期限…等)。請參考ATM、CVS或BARCODE的取號結果通知
注意事項:
- 頁面將會停留在綠界,顯示繳費的相關資訊。
- 回傳只有三段號碼,並不會回傳條碼圖,需自行轉換成code39的三段條碼。
- 參數內容若有包含%26(&)及%3C(<) 這二個值時,請先進行urldecode() 避免呼叫API失敗。
ClientRedirectURL String(200)
Client端回傳付款相關資訊
- 若有設定此參數,訂單建立完成後(非付款完成),綠界會Client端回傳消費者付款方式相關資訊(例:銀行代碼、繳費虛擬帳號繳費期限…等)且將頁面轉到特店指定的頁面。請參考ATM、CVS或BARCODE的取號結果通知
注意事項:
- 若設定此參數,將會使設定的返回特店的按鈕連結 [ClientBackURL] 失效。
- 若導回網址未使用https時,部份瀏覽器可能會出現警告訊息。
- 回傳只有三段號碼,並不會回傳條碼圖,需自行轉換成code39的三段條碼。
- 參數內容若有包含%26(&)及%3C(<) 這二個值時,請先進行urldecode() 避免呼叫API失敗。
Desc_1 String(20)
交易描述1
- 若繳費超商為 family(全家) 或 ibon(7-11) 時,會顯示在超商繳費平台螢幕上
Desc_2 String(20)
交易描述2
- 若繳費超商為 family(全家) 或 ibon(7-11) 時,會顯示在超商繳費平台螢幕上
Desc_3 String(20)
交易描述3
- 若繳費超商為 family(全家) 或 ibon(7-11) 時,會顯示在超商繳費平台螢幕上
Desc_4 String(20)
交易描述4
- 若繳費超商為 family(全家) 或 ibon(7-11) 時,會顯示在超商繳費平台螢幕上
ATM付款參數
ExpireDate Int
允許繳費有效天數
- 若需設定最長 60 天,最短1天。
- 未設定此參數則預設為3天
注意事項:以天為單位,例如7/1號訂單成立,有效天數設為3天,則到期日為7/4 23:59截止。
PaymentInfoURL String(200)
Server端回傳付款相關資訊
- 若有設定此參數,訂單建立完成後(非付款完成),綠界會Server端背景回傳消費者付款方式相關資訊(例:銀行代碼、繳費虛擬帳號繳費期限…等)。請參考ATM、CVS或BARCODE的取號結果通知
- 參數內容若有包含%26(&)及%3C(<) 這二個值時,請先進行urldecode() 避免呼叫API失敗。
ClientRedirectURL String(200)
Client端回傳付款相關資訊
- 若有設定此參數,訂單建立完成後(非付款完成),綠界會Client端回傳消費者付款方式相關資訊(例:銀行代碼、繳費虛擬帳號繳費期限…等)且將頁面轉到特店指定的頁面。請參考ATM、CVS或BARCODE的取號結果通知
注意事項:
- 若設定此參數,將會使設定的返回特店的按鈕連結[ClientBackURL]失效。
- 若導回網址未使用https時,部份瀏覽器可能會出現警告訊息。
- 參數內容若有包含%26(&)及%3C(<) 這二個值時,請先進行urldecode() 避免呼叫API失敗。
BNPL付款參數
PaymentInfoURL String(200)
Server端回傳付款相關資訊
- 若有設定此參數,訂單建立完成後(非付款完成),綠界會Server端背景回傳消費者付款方式相關資訊
ClientRedirectURL String(200)
Client端回傳付款相關資訊
- 若有設定此參數,訂單建立完成後(非付款完成),綠界會Client端回傳消費者付款方式相關資訊且將頁面轉到特店指定的頁面。
注意事項:
- 若設定此參數,將會使設定的返回特店的按鈕連結[ClientBackURL]失效。
- 若導回網址未使用https時,部份瀏覽器可能會出現警告訊息。
- 參數內容若有包含%26(&)及%3C(<) 這二個值時,請先進行urldecode() 避免呼叫API失敗。