前置準備事項
系統介接測試相關資訊
請使用以下資訊介接本公司金流服務,此為測試環境,測試無誤要連正式環境時,請將以下資訊更換成正式環境的相關資訊。
| 欄位說明 | 欄位內容 |
|---|---|
| 串接版號(Revision) | 1.0.0 |
| 特店編號(MerchantID) | 1000031 |
| 廠商管理後台登入帳號/密碼 | funstage001/test1234 |
| 身分證件末四碼/統一編號 | 12345678 |
| 廠商管理後台 測試環境 | https://vendor-stage.funpoint.com.tw 此網站可提供:1. 查詢訂單,2. 模擬付款並通知特店 若執行模擬付款功能,無法收到付款通知時,請留意此表之注意事項。 |
| ALL IN ONE 介接 HashKey | 265flDjIvesceXWM |
| ALL IN ONE 介接 HashIV | pOOvhGd1V2pJbjfX |
| 信用卡測試卡號 | 4311-9522-2222-2222 (只有此組卡號可測試交易成功流程) |
| 信用卡測試安全碼 | 222 |
| 信用卡測試有效月/年 | 輸入的 MM/YYYY 值請大於現在當下時間的月年,例如在 2016/04/20 當天作測試,請設定 05/2016(含)之後的有效月年,否則回應刷卡失敗。 |
注意事項:
(接收傳送歐買尬金流API通知時,請開發人員確認以下事項,以利正常收到歐買尬金流發送的各項通知)
- 請確認 Server 是否有開通防火牆,以避免付款通知被防火牆阻擋。
- 呼叫 API 連接 port 只提供 https (443 port)連線方式,並請使用 DNS(Domain Name System)進行介接。
- 請確認各項交易參數傳送時是使用 http POST 方式傳送至歐買尬金流API。
- 請確認 Server URL 連接 port 為 https 443 port。
- 傳送參數值的內容請用 UTF8 格式,且不支援中英文語系之外的文字內容。
- 為保障消費者權益與網路交易安全,串接服務僅支援 TLS 1.2 以上之加密通訊協定。
- 信用卡交易時,不得無故拒絕持卡人刷卡消費、限制簽帳金額或將手續費轉嫁於持卡人。
取得廠商驗證碼(Server)
交易付款功能
應用場景
在使用歐買尬金流站內付 金流服務之前,廠商 Server 必須先向歐買尬金流 Server 取得一組廠商驗證碼(Token)。廠商 Server 得到驗證碼後,必須將驗證碼傳給廠商 Web 做產生站內付 金流畫面功能之用。
介接路徑
- 正式環境:https://ecpg.funpoint.com.tw/Merchant/GetTokenbyTrade
- 測試環境:https://ecpg-stage.funpoint.com.tw/Merchant/GetTokenbyTrade
廠商傳入參數說明:(JSON 格式,名稱前若有紅色星號*為必填欄位):
- Content Type:application/json
- HTTP Method:POST
| 參數 / 型態 | 參數名稱 | 說明 |
|---|---|---|
| *MerchantID String(10) | 特店編號 | 請填入由歐買尬金流提供的特店編號。 |
| *RqHeader JSON | 傳輸資料 | 包含傳輸時間與串接版本資訊,如下子項目: |
| *Timestamp Number | 傳輸時間 | Unix timestamp ※ 注意事項:若接收時間差超過 10 分鐘則交易失敗。 |
| *Revision String(10) | 串接版號 | 請參考系統介接資訊之串接版號。例:1.0.0 |
| *Data String | 加密資料 | 加密過 JSON 格式的資料。加密方法說明 |
範例
json
{
"MerchantID": "1000031",
"RqHeader":
{
"Timestamp": 1234567890,
"Revision": "1.0.0"
},
"Data": "…"
}Data參數說明:請在加密前對參數值進行 URLEncode
| 參數 / 型態 | 參數名稱 | 說明 |
|---|---|---|
| PlatformID String(10) | 特約合作平台商代號 | 為專案合作的平台商使用。此參數請帶空值。 |
| *MerchantID String(10) | 特店編號 | |
| *RememberCard Int | 是否使用記憶卡號功能 | 0:否1:是 |
| *PaymentUIType Int | 畫面的呈現方式 | 0:信用卡定期定額2:付款選擇清單頁 |
| ChoosePaymentList String(30) | 欲使用的付款方式 | PaymentUIType 如選擇 2,則必填。各付款方式代碼如下: 0:全部付款方式1:信用卡一次付清2:信用卡分期付款3:ATM4:超商代碼6:銀聯卡( 可多選 ex : 1, 2, 3 ) |
| RiskMerchantMemberID String(100) | 風控監測會員識別碼 | 1. 有申請風險監控機制時,此欄位必填。 2. 提供開通風控監測廠商使用,帶入監測的會員識別碼。 3. 目前僅提供 ATM 付款方式監控。 |
| *OrderInfo JSON | 訂單資訊 | |
| *MerchantTradeDate String(20) | 廠商交易時間 | yyyy/MM/dd HH:mm:ss |
| *MerchantTradeNo String(20) | 特店交易編號 | 均為唯一值,不可重複使用。 英數字大小寫混和 請避免訂單編號重複。 |
| *TotalAmount Int | 交易金額 | 請帶整數,不可有小數點。僅限新台幣。 |
| *ReturnURL String(200) | 付款回傳結果 | 當消費者付款完成後,歐買尬金流會將付款結果參數以幕後(Server POST)回傳到該網址。詳細說明請參考付款結果通知。 ● 請勿設定與 Client 端接收付款結果網址 OrderResultURL 相同位置,避免程式判斷錯誤。 ● 請在收到 Server 端付款結果通知後,請正確回應 1|OK 給歐買尬金流。 ● 1|OK 僅是廠商回應歐買尬金流是否收到通知,並不會改變付款狀態。 |
| *TradeDesc String(200) | 交易描述 | |
| *ItemName String(400) | 商品名稱 | 商品名稱以分隔線#分開 |
| CardInfo JSON | 信用卡資訊 | 以下情況為必填: (1) PaymentUIType 選擇 0 或 1。(2) PaymentUIType 選擇 2,且 ChoosePaymentList 選擇 0,1 或 2。 |
| Redeem String (1) | 使用信用卡紅利 | 0:不使用1:使用(預設為不使用) |
| PeriodAmount Int | 定期定額每次授權金額 | 當 PaymentUIType 為 0 時,此欄位必填 |
| PeriodType String(1) | 定期定額週期種類 | 當 PaymentUIType 為 0 時,此欄位必填D:以天為週期M:以月為週期Y:以年為週期 |
| Frequency Int | 定期定額執行頻率 | 當 PaymentUIType 為 0 時,此欄位必填。當 PeriodType 設為 D 時,最多可設 365 次。當 PeriodType 設為 M 時,最多可設 12 次。當 PeriodType 設為 Y 時,最多可設 1 次。※注意事項:至少要大於等於 1 次以上。 |
| ExecTimes Int | 定期定額執行次數 | 當 PaymentUIType 為 0 時,此欄位必填。當 PeriodType 設為 D 時,最多可設 999 次。當 PeriodType 設為 M 時,最多可設 99 次。當 PeriodType 設為 Y 時,最多可設 9 次。※注意事項:至少要大於 1 次以上。 |
| *OrderResultURL String(200) | 3D 驗證回傳付款結果網址 | 使用 3D 驗證時,當消費者付款完成後,歐買尬金流會將付款結果參數以幕前(Client POST)回傳到該網址。回傳參數為 ResultData |
| PeriodReturnURL String(200) | 定期定額執行結果回應URL | 當 PaymentUIType 為 0 時,此欄位必填。若交易是信用卡定期定額的方式,則每次執行授權完,會將授權結果回傳到這個設定的 URL。 |
| CreditInstallment String(20) | 刷卡分期期數 | 當 ChoosePaymentList 為 0 或 ChoosePaymentList 有選擇 2 時,此欄位必填。支援多期數請以逗號分隔。 例: 3,6,12,18,24,30 |
| UnionPayInfo JSON | 銀聯卡資訊 | ChoosePaymentList 如選擇 0 或 6,則必填 |
| *OrderResultURL String(200) | 銀聯卡驗證回傳付款結果網址 | 使用銀聯卡付款時,當消費者付款完成後,歐買尬金流會將付款結果參數以幕前(Client POST)回傳到該網址。回傳參數為 ResultData |
| ATMInfo JSON | ATM 資訊 | ChoosePaymentList 如選擇 0 或 3,則必填 |
| *ExpireDate Int | 允許繳費有效天數 | 若需設定最長 60 天,最短 1 天。 (未設定此參數則預設為 1 天) ※注意事項:以「天」為單位,例如 2024/04/10 訂單成立,有效期限 1 天,則繳費截止日期為 2024/04/11 23:59 止。 |
| ExpireMinute Int | 允許繳費有效分鐘數 | 若需設定最長 1440 分鐘,最短 10 分鐘,未設定此參數則預設為 0 分鐘。 ※注意事項: 1. 請將小時換算成分鐘,以 10 的倍數為單位,且只提供「中國信託」、「第一銀行」和「凱基銀行」虛擬帳號。 2. ExpireDate 與 ExpireMinute 不可同時帶入。若同時存在,系統判斷方式為:當 ExpireMinute > 0 時以分鐘為主;若 ExpireMinute = 0,則以 ExpireDate 為主。3. 以「分」為單位,訂單成立後,每 10 分計算,不足 10 分以 10 分計算,例如 2024/04/10 15:11 成立訂單,該虛擬帳號有效分鐘 11 分+10 分=21 分,但該筆已過 20 分的檢查時間,將於 30 分去更新訂單狀態,故有效期為 2024/04/10 15:30:00 4. 本服務需向您的業務人員申請。 |
| ATMBankCode String (10) | ATM 銀行代碼 | 繳費銀行代碼。請參考銀行代碼表。 (若未傳入,依系統預設銀行為主) |
| ATMFromBankID String(3) | 轉出銀行代碼 | 若需傳值請輸入 3 碼銀行代碼。 ※注意事項: 1. 本服務需向您的業務人員申請。 2. 此服務目前只適用於凱基銀行交易 |
| ATMFromBankAcc String(16) | 轉出銀行帳號 | 若需傳值請輸入 16 碼,不足 16 碼請左邊補 0。 ※注意事項: 1. 本服務需向您的業務人員申請。 2. 此服務目前只適用於凱基銀行交易 |
| CVSInfo JSON | 超商代碼資訊 | ChoosePaymentList 如選擇 0 或 4,則必填 |
| *StoreExpireDate Int | 超商繳費截止時間 | ● 以分鐘為單位。 ● 若需設定此參數,請於建立訂單時將此參數送給歐買尬金流。 ● 提醒您,CVS 帶入數值不可超過 10080 分鐘(7天)。 例:08/01 的 20:15 分購買商品,繳費期限為 7 天,表示 08/08 的 20:15 分前您必須前往超商繳費。 ● 若未設定此參數,預設為 10080 分鐘 ( 7 天 )。 ※注意事項:測試環境繳費截止時間上限為 3 天,CVS 帶入數值不可超過 3012 分鐘。 |
| 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) 時,會顯示在超商繳費平台螢幕上 |
| ConsumerInfo JSON | 消費者資訊 | |
| MerchantMemberID String(60) | 消費者會員編號 | 當 RememberCard = 1,此欄位必填。 |
| Email String(30) | 信用卡持卡人電子信箱 | |
| Phone String(60) | 信用卡持卡人電話 | |
| Name String(50) | 信用卡持卡人姓名 | ※注意事項:該欄位可接受中文、英文與部分特殊符號。可支援的特殊符號為: , . ( ) / - |
| CountryCode String(3) | 國別碼 | 持卡人帳單地址國別碼,請參考 ISO3166。臺灣請填寫 158 |
| Address String(50) | 地址 | 持卡人帳單地址 |
| CustomField String(200) | 自訂欄位 | 提供特店使用客制化欄位 |
Data範例
json
{
"MerchantID": "1000031",
"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"
},
"UnionpayInfo":
{
"OrderResultURL": "https://yourOrderResultURL.com",
},
"ATMInfo":
{
"ExpireDate": 1
},
"ConsumerInfo":
{
"MerchantMemberID": "test123456",
"Email": "customer@email.com",
"Phone": "0912345678",
"Name": "Test",
"CountryCode": "158"
}歐買尬金流回傳參數說明:(JSON 格式)
| 參數 / 型態 | 參數名稱 | 說明 |
|---|---|---|
| MerchantID String(10) | 特店編號 | 特店編號 |
| RqHeader JSON | 傳輸資料 | |
| Timestamp Number | 傳輸時間 | 時間戳 Unix timestamp |
| TransCode Int | 回傳代碼 | 1 代表傳輸資料(MerchantID,RqHeader,Data)接收成功,其餘均為失敗 |
| TransMsg String(200) | 回傳訊息 | 回傳訊息 |
| Data String | 加密資料 | 加密過 JSON 格式的資料。加密方法說明 |
範例
json
{
"MerchantID": "1000031",
"RpHeader":
{
"Timestamp": 1234564848
},
"TransCode": 1,
"TransMsg": "Success",
"Data": "…"
}Data參數說明:請在解密後後對參數值進行 URLDecode
| 參數 / 型態 | 參數名稱 | 說明 |
|---|---|---|
| RtnCode Int | 交易狀態 | 1 代表 API 執行成功,其餘代碼均為失敗。失敗代碼請參考交易訊息代碼表 |
| RtnMsg String(200) | 回應訊息 | |
| 以下為RtnCode為 1 時才會回傳 | ||
| PlatformID String(10) | 平台商編號 | 特約合作平台商特店編號。 |
| MerchantID String(10) | 特店編號 | |
| Token String(64) | 交易代碼 | 可使用的效期為 30 分鐘 |
| TokenExpireDate String(20) | 交易代碼到期時間 | yyyy/MM/dd HH:mm:ss |
Data(解密後)
json
{
"RtnCode": 1,
"RtnMsg": "Success",
"MerchantID": "1000031",
"Token": "m12dae4846446sq",
"TokenExpireDate": "2020/09/18 15:39:10"
}刪除信用卡
應用場景
使用者可於交易中進行記憶卡號功能,當使用者想要刪除信用卡資料,廠商可透過此功能刪除已綁定的信用卡。
介接路徑
- 正式環境:https://ecpg.funpoint.com.tw/Merchant/GetTokenbyUser
- 測試環境:https://ecpg-stage. funpoint.com.tw/Merchant/GetTokenbyUser
廠商傳入參數說明:(JSON 格式,名稱前若有紅色星號*為必填欄位):
- Content Type:application/json
- HTTP Method:POST
| 參數 / 型態 | 參數名稱 | 說明 |
|---|---|---|
| *MerchantID String(10) | 特店編號 | 請填入由歐買尬金流提供的特店編號 |
| *RqHeader JSON | 傳輸資料 | |
| *Timestamp Number | 傳輸時間 | 時間戳 Unix timestamp ※注意事項: 若時間戳跟歐買尬金流伺服器接收到時間超過 10 分鐘時,交易會失敗無法進行 |
| *Revision String(10) | 串接版號 | 請參考 系統介接測試相關資訊的串接版號。 例:1.0.0 |
| *Data String | 加密資料 | 加密過 JSON 格式的資料。加密方法說明 |
範例
json
{
"MerchantID": "1000031",
"RpHeader":
{
"Timestamp": 1234564848,
"Revision": "1.0.0"
},
"Data": "…"
}Data參數說明:請在加密前對參數值進行 URLEncode
| 參數 / 型態 | 參數名稱 | 說明 |
|---|---|---|
| PlatformID String(10) | 特約合作平台商代號 | |
| *MerchantID String(10) | 特店編號 | |
| *ConsumerInfo JSON | 消費者資訊 | |
| *MerchantMemberID String(60) | 消費者會員編號 | |
| Email String(30) | 信用卡持卡人電子信箱 | |
| Phone String(60) | 信用卡持卡人電話 | |
| Name String(50) | 信用卡持卡人姓名 | |
| CountryCode String(3) | 國別碼 | 持卡人帳單地址國別碼,ISO3166 |
| Address String(50) | 地址 | 持卡人帳單地址 |
| CustomField String(200) | 廠商自訂欄位 | 提供廠商使用客制化欄位 |
Data範例
json
{
"MerchantID": "1000031",
"ConsumerInfo":
{
"MerchantMemberID":"test123466",
"Email":"customer@email.com",
"Phone": "0912345678",
"Name": "Test",
"CountryCode": "158"
},
"ReturnURL": "https://aa.aa.aa"
}歐買尬金流回傳參數說明:(JSON 格式)
| 參數 / 型態 | 參數名稱 | 說明 |
|---|---|---|
| MerchantID String(10) | 特店編號 | 特店編號 |
| RqHeader JSON | 傳輸資料 | |
| Timestamp Number | 傳輸時間 | 時間戳 Unix timestamp |
| TransCode Int | 回傳代碼 | 1 代表傳輸資料(MerchantID,RqHeader,Data)接收成功,其餘均為失敗 |
| TransMsg String(200) | 回傳訊息 | 回傳訊息 |
| Data String | 加密資料 | 加密過 JSON 格式的資料。加密方法說明 |
範例
json
{
"MerchantID": "1000031",
"RpHeader":
{
"Timestamp": 1234564848
},
"TransCode": 1,
"TransMsg": "Success",
"Data": "…"
}Data參數說明:請在解密後對參數值進行 URLDecode
| 參數 / 型態 | 參數名稱 | 說明 |
|---|---|---|
| RtnCode Int | 交易狀態 | 1 代表 API 執行成功,其餘代碼均為失敗。失敗代碼請參考交易訊息代碼表 |
| RtnMsg String(200) | 回應訊息 | |
| 以下為RtnCode為 1 時才會回傳 | ||
| PlatformID String(10) | 平台商編號 | 特約合作平台商特店編號。 |
| MerchantID String(10) | 特店編號 | |
| Token String(64) | 廠商驗證碼 | 可使用的效期為 30 分鐘 |
| TokenExpireDate String(20) | 廠商驗證碼到期時間 | yyyy/MM/dd HH:mm:ss |
Data範例(解密後)
json
{
"RtnCode": 1,
"RtnMsg": "Success",
"MerchantID": "1000031",
"Token": "m12dae4846446sq",
"TokenExpireDate": "2020/09/18 15:39:10"
}