NAV
docs

Reference

acquirer

What is it?

您的收單銀行或是金流處理器

payByPrime
payByToken

amount

What is it?

一筆交易的總金額

若欲部分退款,請輸入比原始金額還小的價格

台幣(TWD):單筆交易金額下限為台幣1元,金額上限為台幣1,000,000元。台幣交易1元時,請帶入1

港幣(HKD):單筆交易金額下限為港幣0.01元,金額上限為港幣252500元。港幣交易1.01元時,請帶 101

馬幣(MYR):單筆交易金額下限為馬幣0.01令吉,金額上限為馬幣135000令吉。馬幣交易1.01令吉時,請帶 101

美金(USD):單筆交易金額下限為美金0.01元,金額上限為美金33169元。美金交易1.01元時,請帶 101

payByPrime
payByToken
Refund
trade_records
Partial Refund

amount(filter)

What is it?

用來過濾特定金額內的搜尋條件
外幣金額需包含兩位小數,如100代表1.00
裡面有兩個參數:

名稱 類別(長度) 內容
upper_limit int 最高價格
lower_limit int 最低價格

filters

appid

What is it?

您 APP 或網站的數字識別碼,做於驗證用途
可於 Portal > APP Management > 點擊對應 APP 或網站的"內容"找到
第五步

TPDSetup.initInstance()
TPDirect.setupSDK()
appKey
serverType
TPDServerType

appKey

What is it?

您的 APP 或網站的驗證金鑰匙
可於 Portal > APP Management > 點擊對應 APP 或網站的"內容"找到
第五步

TPDSetup.initInstance()
TPDirect.setupSDK()
appid
serverType
TPDServerType

appname

What is it?

於 Portal 網站上所定義的 APP 或網站名稱
第五步

rec_trade_id
auth_code
merchant_id
merchant_name
time
amount
refund_amount
record_status
trade_records

attribute

What is it?

排序交易紀錄的條件
以下為接受的值:

內容
time 依交易時間排序
amount 依交易金額排序

order_by
is_descending
time
amount

auth_code

銀行授權碼以確保交易是否有成功

payByPrime
payByToken
trade_records

bank_id

What is it?

名稱 銀行代碼
中國信託銀行 822
台新銀行 812
玉山銀行 808
國泰世華銀行 013
兆豐銀行 017
渣打銀行 052
凱基銀行 809
聯邦銀行 803
日盛銀行 815
安泰銀行 816
元大銀行 806
上海商業儲蓄銀行 011
永豐銀行 807
新光銀行 103
華泰銀行 102
交通銀行 003
合作金庫銀行 006
台灣企銀 050
京城商銀 054
匯豐銀行 081
陽信銀行 108
三行銀行 147
第一銀行 007
中華郵政 700
中華銀行 804
大眾銀行 814
台灣銀行 004
華南銀行 008
台北富邦銀行 012
農業金庫 018
王道銀行 048
遠東銀行 805
萬泰銀行 809
土地銀行 005
彰化銀行 009
花旗銀行 021
台中商銀 053
東亞銀行 075
板信銀行 118
星辰銀行 810

backend_notify_url

What is it?

商戶 Server 接收交易結果的 URL。必須以 https 開頭。

3D 交易過程中有可能發生消費者棄單,消費者操作異常或是銀行端和 TapPay 狀態同步異常導致該筆 交易狀態為待付款(商戶此時不會收到 backend_notify_url 通知)。

TapPay 將針對待付款交易,於訂單建立後每隔 30 分鐘進行反查,共向銀行反查 2 次。若得到銀行端真實結果,即更新後台訂單狀態並發出 backend_notify_url 通知商戶,反查 2 次後若仍無結果則停止反查。

bank_transaction_id

What is it?

大寫英文字母 及數字所組成的訂單編號
此訂單編號為方便您對帳使用,並將會送至銀行
沒有需求的話可以不填,我們會自動幫您產生一組
若有填寫的話,請遵守每家銀行的長度限制:

名稱 長度
玉山銀行 20
台新銀行 23
中國信託銀行 19
永豐銀行 40
台北富邦銀行 25
LINE Pay 40
凱基銀行 40
聯邦銀行 40
國泰世華銀行 20
合作金庫銀行 19
第一銀行 19
財團法人聯合信用卡處理中心 40
藍新金流 20
陽信銀行 19
中國銀行 40
RAZER PAY 32
JKOPAY 40
悠遊付 50

payByPrime
payByToken
trade_records
rec_trade_id

bank_transaction_end_millis

What is it?

銀行實際處理完畢交易請求的時間,單位為毫秒

trade_records

bank_transaction_start_millis

What is it?

銀行實際收到交易請求並開始處理的時間,單位為毫秒

trade_records

bank_transaction_time

What is it?

銀行處理交易請求的時間
裡面有兩個參數:

名稱 類別 內容
start_time_millis String 起始時間
end_time_millis String 結束時間

start_time_millis
end_time_millis

bank_transaction_time(bind_card)

What is it?

銀行處理交易請求的時間
裡面有兩個參數:

名稱 類別 內容
start_time_millis long 起始時間
end_time_millis long 結束時間

start_time_millis
end_time_millis

cap_millis

What is it?

交易會被請款的時間

Record
trade_records

card_identifier(filter)

What is it?

名稱  類別 內容
card_identifier String 帶入卡號識別碼搜尋該筆交易資料

card

What is it?

TPDirect.card.createToken() 所回傳的 JSON 物件
裡面包含 prime 字串及卡號後四碼

TPDirect.card.createToken()
status
clientip
prime
lastfour

cardholder

What is it?

卡片持有者的資訊,應包含以下值:

名稱(*為必填) 類別(長度) 內容
phone_number* String(40) 手機號碼,包含加號之 E.164 格式(“+886923456789”)
name* String(40) 名稱
email* String(40) 電子信箱
zip_code String(40) 郵遞區號
address String(90) 地址
national_id String(40) 身分證字號

非必填欄位也應有對應的 key,value 的部分可以帶空字串(zip_code: “”, address: “”, national_id: “”)


各支援銀行需驗證的必填欄位

支援銀行 需驗證的必填欄位 備註
財團法人聯合信用卡處理中心 national_id
台新銀行
(只支援自行卡)
national_id 若是台新自行卡可再額外驗 phone_number
(務必在 cardholder 中帶入 09 開頭的電話,若輸入錯誤會導致交易失敗)

payByPrime
payByToken

cardholder(filter)

What is it?

用來過濾特定消費者的搜尋條件 裡面有三個參數:

名稱 類別 內容
name String 名稱
phone_number String 電話
email String 電子信箱

Record

card_info

What is it?

卡片資訊,會回傳以下值:

名稱 類別(長度) 內容
bin_code String(6) 卡片前六碼
last_four String(4) 卡片後四碼
issuer String 發卡行
issuer_zh_tw String 發卡銀行中文名稱
bank_id String 發卡銀行代碼
funding int 卡片類別
-1 = Unknown
0 = 信用卡
1 = 簽帳卡
2 = 預付卡
type int 卡片種類
-1 = Unknown
1 = VISA
2 = MasterCard
3 = JCB
4 = Union Pay
5 = AMEX
level String 卡片等級
country String 發卡行國家
country_code String 發卡行國家碼
expiry_date String 卡片到期時間,格式 YYYYMM,卡片到期時間( remember = true 時回傳)
( Apple Pay / Google Pay / LINE Pay / Samsung Pay 不會回傳此欄位)

payByPrime
payByToken

card_info

What is it?

卡片資訊,會回傳以下值:

名稱 類別(長度) 內容
bin_code String(6) 卡片前六碼
last_four String(4) 卡片後四碼
issuer String 發卡行
funding int 卡片類別
-1 = Unknown
0 = 信用卡
1 = 簽帳卡
2 = 預付卡
type int 卡片種類
-1 = Unknown
1 = VISA
2 = MasterCard
3 = JCB
4 = Union Pay
5 = AMEX
level String 卡片等級
country String 發卡行國家
country_code String 發卡行國家碼
expiry_date String 卡片到期時間,格式 YYYYMM,卡片到期時間( remember = true 時回傳)
( Apple Pay / Google Pay / LINE Pay / Samsung Pay 不會回傳此欄位)
token_status String 啟用中:ACTIVE 已暫停:SUSPENDED 已刪除:DELETED

payByPrime
payByToken

card_key

What is it?

保護卡片字串的卡片金鑰
remember = true ,則會於 payByPrime 中的 card_secret 內回傳
未來付款就只需利用卡片字串與金鑰來呼叫 payByToken API,省略 createToken 與 payByPrime 的步驟

payByPrime
payByToken
card_token
remember

card_secret

What is it?

包含卡片字串金鑰的 JSON 物件,只有呼叫 payByPrime 時,參數 remember = true 才會回傳

名稱 類別(長度) 內容
card_key String(64) 保護卡片字串卡片金鑰
card_token String(67) 代表消費者卡片的字串

未來付款就只需利用卡片字串金鑰來呼叫 payByToken API,省略 createToken 與 payByPrime 的步驟

payByPrime
payByToken
card_key
card_token
remember

card_token

What is it?

代表消費者卡片的字串
remember = true ,則會於 payByPrime 中的 card_secret 內回傳
未來付款就只需利用卡片字串與金鑰來呼叫 payByToken API,省略 createToken 與 payByPrime 的步驟

payByPrime
payByToken
card_key
remember

CCV

What is it?

信用卡背後的三位識別碼

TPDCard
TPDirect.card.createToken()
cardNumber
dueMonth
dueYear
Test Card

client_ip

What is it?

消費者的 IP 位置

TPDirect.card.createToken()
status
card

currency

What is it?

貨幣的 ISO 4217 字母代碼,如:新台幣 = “TWD”

銀行 支援幣別
中國信託銀行 新台幣(TWD)
玉山銀行 新台幣(TWD)
台新銀行 新台幣(TWD)
國泰世華銀行 新台幣(TWD)
永豐銀行 新台幣(TWD)
凱基銀行 新台幣(TWD)
合作金庫銀行 新台幣(TWD)
第一銀行 新台幣(TWD)
財團法人聯合信用卡處理中心 新台幣(TWD)
藍新金流 新台幣(TWD)
台北富邦銀行 新台幣(TWD)
陽信銀行 新台幣(TWD)
聯邦銀行 新台幣(TWD)
中國銀行 港幣(HKD)
RAZER PAY 馬幣(MYR)
環匯亞太 台幣(TWD), 美金(USD)

payByPrime
payByToken

delay_capture_in_days

What is it?

銀行授權款項與實際請款之間的天數
這期限可以延長至最多 7 天
若您欲手動請款,可輸入 -1 來取消自動請款

當您呼叫此API時,TapPay 將於當日向銀行進行請款,不代表當日請款已成功。
實際請款是否成功,請於請款隔天上午9點利用TapPay 後台或 Record API查詢交易狀態進行確認。

Refund
Partial Refund

details

What is it?

交易明細
此欄位資訊將顯示在銀行對帳系統中

銀行名稱 內容
中國信託銀行 限制 18 字節,超過將自動截斷
陽信銀行 限制 18 字節,超過將自動截斷
台新銀行 限制 40 字節,超過將自動截斷
藍新金流 限制 50 字節,超過將自動截斷
國泰世華銀行 未提供此欄位
玉山銀行 未提供此欄位
凱基銀行 未提供此欄位
永豐銀行 未提供此欄位
合作金庫銀行 未提供此欄位
第一銀行 未提供此欄位
財團法人聯合信用卡處理中心 未提供此欄位

payByPrime
payByToken

due_month

What is it?

信用卡的到期月份:

月份
一月 01
二月 02
三月 03
四月 04
五月 05
六月 06
七月 07
八月 08
九月 09
十月 10
十一月 11
十二月 12

TPDCard
TPDirect.card.createToken()
cardNumber
dueYear
CCV
Test Card

due_year

What is it?

信用卡的到期年份,為西元年的後兩位數(“2019” -> “19”)

TPDCard
TPDirect.card.createToken()
cardNumber
due_month
CCV
Test Card

extra_info

What is it?

分期付款額外資訊,各間銀行參數請參考下表

銀行名稱名稱類別內容
台新銀行install_order_noString分期編號
install_periodString分期期數
install_pay_feeString每期手續費
install_payString每期費用
install_down_payString頭期費用
install_down_pay_feeString頭期手續費
財團法人聯合信用卡處理中心installmentString分期期數
installment_typeString分期付款手續費方式(E = 外加, I = 內合)
first_amtString頭期費用
each_amtString每期金額
feeString手續費
藍新金流instInteger分期期數
inst_firstInteger首期金額
inst_eachInteger每期金額
國泰世華銀行period_numberString分期期數
玉山銀行ITAString分期總金額
IPString分期期數
IPAString每期金額
IFPAString首期金額

filters

What is it?

過濾交易紀錄的條件,每個皆非必帶:

名稱 類別(長度) 預設
time JSONObject {“start_time”:0, “end_time”: 無上限}
amount JSONObject {“upper_limit”: 無上限, “lower_limit”: 0}
merchant_id String array
record_status int
rec_trade_id String(20)
tsp Boolean
card_identifier String

time(filter)
amount(filter)
merchant_id(filter)
record_status
rec_trade_id

frontend_redirect_url

What is it?

使用 LINE Pay、街口支付或者 3D 驗證交易時,當消費者在 LINE Pay、街口支付或 3D 驗證完成交易程序後,導轉回到商戶網頁前端的交易結果頁面 URL。必須以 https 開頭。

geoLocation

What is it?

消費者地點的經緯度,格式為"(經度, 緯度)“或是"UNKNOWN”

TPDCard.createToken()

instalment

What is it?

分期付款的期數,預設為 0

payByPrime
payByToken

is_descending

What is it?

排序交易紀錄的條件,根據"attribute“的值有不同效果:

attribute 內容
true time 由最新的紀錄到最舊的紀錄
true amount 由金額最高的紀錄到金額最少的紀錄
false time 由最舊的紀錄到最新的紀錄
false amount 由金額最少的紀錄到金額最高的紀錄

order_by
is_descending
time
amount

last_four

What is it?

卡片後四碼

onSuccessCallBack()
card
prime

merchant_id

What is it?

於 Portal 上為每個商家所產生的識別碼,須由小於 50 位數的英數字元所組合

payByPrime
payByToken
Record
merchantid(filter)
trade_records

merchant_id(filter)

What is it?

用來指定特定 merchant_id 的搜尋條件
您可將一次將許多 merchant_id 放入同個陣列中進行搜尋

filters
merchant_id

merchant_name

What is it?

於 Portal 上所定義的商家名稱

rec_trade_id
auth_code
merchant_id
appname
time
amount
refundamount
record_status orderid
trade_records

millis

What is it?

交易時間,單位為毫秒
請參考 https://currentmillis.com

payByPrime
payByToken

msg

What is it?

錯誤訊息,呼叫 API 錯誤時回傳
請參考我們的錯誤代碼表

TPDCard.createToken()
payByPrime
payByToken
Refund
Record
onFailureCallBack()
status

number_of_transactions

What is it?

總交易筆數

Record

onFailureCallBack()

What is it?

TPDCard.createToken() 的回傳函數,於方法錯誤時回傳錯誤代碼訊息

TPDCard.createToken()
onSuccessCallBack()
status
msg

onSuccessCallBack()

What is it?

TPDCard.createToken() 的回傳函數,於方法成功時回傳 prime 字串與卡片後四碼

TPDCard.createToken()
onFailureCallBack()
prime
lastfour

order_by

What is it?

排序交易紀錄的條件
這個 JSON 物件有以下值:

名稱 類別 預設值 可帶值
attribute String time time
amount
is_descending boolean true true
false

Record
partner_key
records_per_page page
filters
attribute
is_descending

order_number

What is it?

由小於五十位的英數位元所自行定義的訂單編號,用於 TapPay 做訂單識別,可重複帶入

payByPrime
payByToken
filters
trade_records

original_amount

What is it?

一筆交易的原始金額
此金額不會因款項被退款而受影響

trade_records

page

What is it?

某一頁交易紀錄,此參數預設為0,並從0開始增加
每一頁的交易紀錄數量將取決於 “records_per_page
舉例來說:
如果總交易紀錄量為400,而 “records_per_page” 為200
則第0頁會有第1筆紀錄至第200筆紀錄,而第1頁會有第201筆至第400筆紀錄
如果 “records_per_page” 為50,則總共會有四頁 第0頁1~50,第1頁51~100,第2頁101~150,第3頁151~200

Record
records_per_page

Partial Refund

What is it?

部分退款必須等銀行請款成功後方可執行,全額退款則沒有此限制

整個付款流程為下:
交易 >  delay_capture_in_days 天後請款 > 請款成功即可部分退款

舉例:
顧客於十月九號交易,delay_capture_in_days 預設為 0,則當日請款,請款成功即可部分退款
顧客於十月九號交易,delay_capture_in_days 更改為 3,則十月十二號請款,請款成功即可部分退款

*若顯示「請款成功」但無法部分退款,原因為銀行正針對該筆交易進行結帳,請稍後一至兩天再試

Refund
delay_capture_in_days

partner_key

What is it?

每個 Portal 帳號的識別金鑰
呼叫 TapPay 伺服器的 API 時必須將 header 中的"x-api-key“設為此值
您可於 Portal 左手邊的 Information 找到此值

payByPrime
payByToken
Refund
Record
x-api-key

payByPrime

What is it?

利用 prime 字串來付款的 API
使用者第一次登錄卡號時必須使用此 API 來進行付款並儲存卡片

API 說明

TPDCard.createToken()
payByToken
prime
partner_key
merchant_id
amount
currency
details
cardholder
instalment
remember
status
msg
rec_trade_id
auth_code
card_secret
card_info
acquirer
millis
x-api-key

payByToken

What is it?

利用卡片金鑰卡片字串來付款的 API
當使用者願意儲存卡號後,即可跳過 createToken 跟 payByPrime 的步驟,直接使用此 API 進行付款

API 說明

payByPrime
card_key
card_token
partner_key
merchant_id
amount
currency
details
instalment
status
msg
rec_trade_id
auth_code
card_info
acquirer
millis
x-api-key

partial_card_number

What is it?

信用卡前六碼與後四碼

Record

prime

What is it?

代替卡片的一次性字串,由 TPDCard.createToken()onSuccessCallBack()TPDirect.card.createToken() 回傳
可用於 payByPrime API 內進行付款
此字串的時效為 90 秒
若您有開啟 Apple Pay 延後授權,請自行保管 Prime。預設 Prime 有效期限為 30 天

TPDirect.card.createToken()
TPDCard.createToken()
onSuccessCallBack()
card
last_four
payByPrime

Production

What is it?

交易的正式環境,當您的產品正式上線後應切換至此環境
您可利用 TPDSetup.initInstance()TPDirect.setupSDK() 來進行設定

請確認以下事情:
1. Portal 上的商家是否有在正式環境註冊,並使用銀行的正式收單帳號
2. Portal 上的 IP 是否有在正式環境登錄
3. 前端的環境設定中必須要帶入正式環境的 App Key
4. 前端的伺服器種類必須要切換到正式環境 (Production)
5. 後端的傳送的網址必須要切換到正式環境 (https://sandbox.tappaysdk.com/tpc/ -> https://prod.tappaysdk.com/tpc/)

TPDSetup.initInstance()
TPDirect.setupSDK()
TPDServerType
serverType
Sandbox

product_image_url

What is it?

交易付款頁面上所顯示的商品或商家圖片。此欄位等同於line_pay_product_image_url, 若您於呼叫時同時帶入 product_image_url 與line_pay_product_image_url,TapPay 將以product_image_url 欄位的內容為主。

名稱 長度 圖片大小
LINE Pay 500 84 x 84

Record

What is it?

查詢交易紀錄用的 API

API 說明

partner_key
records_per_page
page
filters
order_by
status
msg
total_page_count
trade_records
x-api-key
number_of_transactions

records_per_page

What is it?

決定一張頁面上有幾筆交易紀錄的參數
預設值為50,而最大值為200
舉例來說:
如果總交易紀錄量為400,而 “records_per_page” 為200
則第0頁會有第1筆紀錄至第200筆紀錄,而第1頁會有第201筆至第400筆紀錄

Record
page

Redeem extra_info

What is it?

紅利額外資訊,各間銀行參數請參考下表

銀行名稱名稱類別內容
財團法人聯合信用卡處理中心redeem_usedString使用的紅利
credit_amtString持卡人自付金額
redeem_balanceString紅利餘額
redeem_typeString1 : 部分紅利
2 : 全額紅利

record_status

What is it?

交易紀錄的狀態
可能的值包括:

狀態 內容
-1 ERROR 交易錯誤
0 AUTH 銀行已授權交易,但尚未請款
1 OK 交易完成
2 PARTIALREFUNDED 部分退款
3 REFUNDED 完全退款
4 PENDING 待付款
5 CANCEL 取消交易

filters
trade_records

rec_trade_id

What is it?

付款成功後所回傳的獨特交易識別碼
用於退款查帳

payByPrime
payByToken
Refund
filters
trade_records

Refund

What is it?

退款的 API,支援部分退款

API 說明

partner_key
rec_trade_id
amount
status
msg
refund_amount
x-api-key
Partial Refund

refunded_amount

What is it?

退款金額

Refund
trade_records

remember

What is it?

決定是否要記憶卡號的參數
此參數 = true 時,payByPrime 會回傳 card_secret,裡面包含卡片字串金鑰
未來付款就只需利用卡片字串金鑰來呼叫 payByToken API,省略 createToken 與 payByPrime 的步驟

payByPrime
card_secret

Sandbox

What is it?

測試環境,具有與正式環境一樣的功能,但付款時不會接觸到金流
您可利用 TPDSetup.initInstance()TPDirect.setupSDK() 來進行設定

TPDSetup.initInstance()
TPDirect.setupSDK()
TPDServerType
serverType
Production

serverType

What is it?

決定伺服器環境的參數,應為以下其中一值:

內容
sandbox 測試環境
production 正式環境

TPDSetup.initInstance()
TPDirect.setupSDK()
appid
appKey
TPDServerType
Sandbox
Production

status

What is it?

API 回傳代碼
請參考我們的錯誤代碼表

TPDirect.card.createToken()
TPDCard.createToken()
payByPrime
payByToken
Refund
Record
onFailureCallBack
msg

Status Code

What is it?

消費者填卡號的狀態,由 JavaScript 的 SDK 所回傳:

code 內容
0 欄位已填好,並且沒有問題
1 欄位還沒有填寫
2 欄位有錯誤,此時在 CardView 裡面會用顯示 errorColor
3 使用者正在輸入中

TapPay Fields Styles

What it is?

TapPay Fields 支援的 CSS 屬性

color , font , font-family , font-size , font-size-adjust , font-stretch , font-style , font-variant , font-variant-alternates , font-variant-caps , font-variant-east-asian , font-variant-ligatures , font-variant-numeric , font-weight , line-height , outline , opacity , text-shadow , transition , -moz-osx-font-smoothing , -moz-transition , -webkit-font-smoothing , -webkit-transition

Test Card

What is it?

在測試環境內,您可用以下的卡號進行付款

卡號 到期月份 到期年份 CCV 結果
4242 4242 4242 4242 01 23 123 0 - Success ( type : Visa )
3543 9234 8838 2426 01 23 123 0 - Success ( type : JCB )
3454 5465 4604 563 01 23 1234 0 - Success ( type : AMEX )
5451 4178 2523 0575 01 23 123 0 - Success ( type : MASTERCARD )
6234 5774 3859 4899 01 23 123 0 - Success ( type : UnionPay )
4242 4202 3507 4242 01 23 123 915 - Unknown Error, please contact TapPay customer service
4242 4216 0218 4242 01 23 123 10003 - Card Error
4242 4222 0418 4242 01 23 123 10005 - Bank System Error
4242 4240 1026 4242 01 23 123 10006 - Duplicate Transaction
4242 4246 1228 4242 01 23 123 10008 - Bank Merchant Account Data Error
4242 4264 1829 4242 01 23 123 10009 - Amount Error
4242 4276 2229 4242 01 23 123 10013 - Order number duplicate
4242 4288 2639 4242 01 23 123 10023 - Bank Error
4242 4210 0008 4242 01 23 123 10015 = Redeem Failed



在測試環境內,若您要測試Card Metadata API,您一定要用以下的卡號進行測試:

卡號到期月份到期年份CCV結果
5480 3543 1215 37770123123將回傳真實卡面 (Mastercard)
token_status=“ACTIVE”, card art status=“SUPPORT”, is_real_card_face=“TRUE”
4622 9431 2741 63870123123將回傳真實卡面(Visa)
token_status=“ACTIVE”, card art status=“SUPPORT”, is_real_card_face=“TRUE”
4242 4217 4599 42420123123將回傳假卡面(商戶使用不支援TSP系統的信用卡測試)
token_status=“NOT_SUPPORT”, card art status=“NOT SUPPORT”, is_real_card_face=“FALSE”
4242 4278 8927 42420123123將回傳假卡面
token_status=“REQUEST_PROCESSING”, card art status=“REQUEST_PROCESSING”, is_real_card_face=“FALSE”
4242 4230 1382 42420123123將回傳假卡面
token_status=“ACTIVE”, card art status=“NOT_SUPPORT”, is_real_card_face=“FALSE”
4242 4235 5081 42420123123將回傳假卡面
token_status=“ACTIVE”, card art status=“REQUEST_PROCESSING”, is_real_card_face=“FALSE”
4242 4246 9569 42420123123將回傳假卡面
token_status=“SUSPENDED”, card art status=“NOT_SUPPORT”, is_real_card_face=“FALSE”
4242 4253 9494 42420123123將回傳假卡面
token_status=“SUSPENDED”, card art status=“REQUEST_PROCESSING”, is_real_card_face=“FALSE”
4242 4266 2411 42420123123將回傳假卡面
token_status=“DELETED”, card art status=“NOT_SUPPORT”, is_real_card_face=“FALSE”
4242 4272 1860 42420123123將回傳假卡面
token_status=“DELETED”, card art status=“REQUEST_PROCESSING”, is_real_card_face=“FALSE”
4242 4259 9407 42420123123將回傳假卡面
token_status=“DELETED”, card art status=“SUPPORT”, is_real_card_face=“FALSE”
4242 4264 8626 42420123123“將回傳假卡面(當消費者在交易完成,但商戶尚未呼叫Card Metadata API前,消費者就先通 知發卡行剪卡)token_status="NOT_SUPPORT”, card art status=“NOT_SUPPORT”, is_real_card_face=“FALSE”“
5455 7339 9439 83990123123"將回傳真卡面,但TSP系統不支援該卡面,但TapPay系統裡存有該卡面) token_status="NOT_SUPPORT”, card art status=“SUPPORT”, is_real_card_face=“TRUE”
4242 4241 8178 42420123123將回傳真卡面token_status=“SUSPENDED”, card art status=“SUPPORT”, is_real_card_face=“TRUE"

這些卡號將會產生對應的結果



在測試環境內,若您要測試Card Notify API,您一定要用以下的卡號進行測試:

卡號到期月份到期年份CCV結果
4242 4241 8178 42420123123此測試卡,測試結果固定為token_status=“SUSPENDED”, card art status=“SUPPORT”, is_real_card_face=“TRUE”

cardNumber
due_month
due_year
CCV

time

What is it?

交易時間,單位為毫秒
請參考 https://currentmillis.com

rec_trade_id
auth_code
merchant_id
merchant_name
appname
amount
refund_amount
record_status
trade_records

time(filter)

What is it?

用來過濾特定時間內的搜尋條件
時間限制為 90天,有帶時間時進行驗證
裡面有兩個參數;

名稱 類別 內容
start_time long 起始時間
end_time long 結束時間

filters

total_page_count

What is it?

交易紀錄總頁數
由於頁數由0開始,所以如果 total_page_count = 2,則指會有第0頁與第1頁

Record
status
msg
records_per_page
page
trade_records

Web SDK compatibility

Safari Direct pay Apple pay Google pay (真實卡號) Google pay (虛擬卡號) PaymentRequestAPI LINE Pay Samsung Pay JKOPAY
Mac Safari O O O X X O O O
iOS Safari O O O X X O O O
Chrome Direct pay Apple pay Google pay (真實卡號) Google pay (虛擬卡號) PaymentRequestAPI LINE Pay Samsung Pay JKOPAY
Mac Chrome O X O X O O O O
Windows Chrome O X O X O O O O
iOS Chrome O X O X X O O O
Android Chrome O X O O O O O O
FireFox Direct pay Apple pay Google pay (真實卡號) Google pay (虛擬卡號) PaymentRequestAPI LINE Pay Samsung Pay JKOPAY
Mac FireFox O X O X X O O O
Windows FireFox O X O X X O O O
iOS FireFox O X X X X X O O
Android FireFox O X O X X O O O
Opera Direct pay Apple pay Google pay (真實卡號) Google pay (虛擬卡號) PaymentRequestAPI LINE Pay Samsung Pay JKOPAY
Mac Opera O X O X O O O O
Windows Opera O X O X O O O O
iOS Opera O X X X X O X O
Android Opera O X O X X O X O
Edge Direct pay Apple pay Google pay (真實卡號) Google pay (虛擬卡號) PaymentRequestAPI LINE Pay Samsung Pay JKOPAY
Windows Edge O X O X X O O O
IE11 Direct pay Apple pay Google pay (真實卡號) Google pay (虛擬卡號) PaymentRequestAPI LINE Pay Samsung Pay JKOPAY
Windows IE11 O X X X X O O O
Facebook Browser Direct pay Apple pay Google pay (真實卡號) Google pay (虛擬卡號) PaymentRequestAPI
iOS Facebook Browser O X X X X
Android Facebook Browser O X X X X
LINE Browser Direct pay Apple pay Google pay (真實卡號) Google pay (虛擬卡號) PaymentRequestAPI
iOS LINE Browser O X X X X
Android LINE Browser O X X X X

TPDCard

What is it?

設定使用者卡片的類別



TPDSetup
cardNumber
due_month
due_year
CCV

TPDCard.createToken()

What is it?

取得 prime 字串的方法

TPDCard
geoLocation
prime
onSuccessCallBack()
onFailureCallBack()
payByPrime

TPDirect.card.createToken()

What is it?

取得 prime 字串的方法


cardNumber
due_month
due_year
CCV
status
card
client_ip
payByPrime

TPDirect.setupSDK()

What is it?

驗證並設定伺服器的方法,必須於呼叫其他 SDK 方法前優先呼叫


TPDirect.card.createToken()
appid
appKey
serverType

TPDServerType

What is it?

決定伺服器環境的參數,應為以下其中一值:

內容
TPDServerType.Sandbox 測試環境
TPDServerType.Production 正式環境

TPDSetup.initInstance()
TPDirect.setupSDK()
appid
appKey
serverType
Sandbox
Production

TPDSetup

What is it?

驗證並設定伺服器的方法的類別



TPDCard
TPDSetup.initInstance()

TPDSetup.initInstance()

What is it?

驗證並設定伺服器的方法,必須於呼叫其他 SDK 方法前優先呼叫

TPDSetup
appid
appKey
TPDServerType

trade_records

What is it?

包含對應條件底下全部交易紀錄的 JSON 陣列
每筆交易紀錄為一個 JSONObject,並包含以下值:

名稱 類別(長度) 內容
rec_trade_id String(20) 交易紀錄識別碼
auth_code String(6) 銀行授權碼
merchant_id String(50) 商家識別碼
merchant_name String(50) 商家名稱
app_name String App 或網站名稱
time long 交易時間
amount int 交易金額,會因退款而減少
refunded_amount int 退款金額
record_status int 交易狀態
bank_transaction_id String 由大寫英文字母及數字所組成的訂單編號,此訂單編號為方便您對帳使用,並將會送至銀行
cap_millis long 交易會被請款的時間
original_amount int 原始交易金額
bank_transaction_start_millis long 銀行實際交易時間
bank_transaction_end_millis long 銀行實際結束時間
is_captured boolean 是否已請款
bank_result_code String 銀行錯誤代碼
bank_result_msg String 銀行錯誤訊息
partial_card_number String 卡號的前六碼與後四碼
payment_method String 付款方式
名稱內容
direct_payDirect Pay
apple_payApple Pay
google_pay_tokenGoogle Pay Token 卡號
google_pay_fpanGoogle Pay 原始卡號
samsung_paySamsung Pay
line_payLINE Pay
tsp_tokenTSP Token
jko_payJKOPAY
easy_wallet悠遊付
details String 交易明細
cardholder JSONArray 消費者資料
名稱類別內容
nameString消費者姓名
phone_numberString消費者電話
emailString消費者信箱
merchandise_details JSONObject 交易商品明細
名稱類型內容
no_rebate_amountInt不適用回饋之金額(例如:煙)
currency String 此筆交易幣別
merchant_reference_info Json 若商戶在 TapPay 後台使用Co-brand card management 功能,且交易卡號符合Co-brand card management 設定時,將會回傳此參數

商戶於TapPay後台設定的affiliate code management須限制於20字元內且為半形的英數字
名稱類別內容
affiliate_codesArray商戶在 TapPay 後台的 Co-brand card management 功能專區設定的Affiliated code
e_invoice_carrier JSONObject 電子發票載具資料
名稱類別內容
typeInt(3)0:手機條碼
1:自然人憑證條碼
-1:其他載具條碼
-2:未使用載用
numberString(100)電子發票載具號碼
donationBoolean是否捐贈
donation_idString(50)愛心碼
three_domain_secure boolean 是否為 3D 驗證交易
pay_by_instalment boolean 是否為分期付款
instalment_info JSONObject pay_by_instalment 為 true 時回傳
名稱類別內容
number_of_instalmentsint分期付款期數
first_paymentint頭期金額
each_paymentint每期金額
order_number String 自定義的訂單編號,用於 TapPay 做訂單識別,可重複帶入
pay_info JSONObject 支援:LINE Pay, JKOPAY, 悠遊付
若此交易為LINE PAY定期定額,"method" 與 “masked_credit_card_number” 回傳值為空字串,其餘欄位回傳值為 0
名稱類別內容
methodString交易方式,只支援 LINE Pay
1. CREDIT_CARD(信用卡)
2. BALANCE(一卡通 iPASS)
3. POINT (LINE Point 全額折抵)
4. DISCOUNT(LINE Pay 優惠券)
masked_credit_card_numberString遮蔽後的卡片末四碼
pointInt點數折抵金額,若無折抵則為0
discountInt優惠券折抵金額,若無折抵則為 0
credit_cardInt使用信用卡支付金額。若無使用此支付方式,會顯示為0
balanceInt使用錢包儲值帳戶支付金額。若無使用此支付方式,會顯示為0
bank_accountInt使用銀行連結帳戶支付金額。若無使用此支付方式,會顯示為0
pay_by_redeem boolean 是否為紅利折抵交易
redeem_info JSONObject
名稱類別內容
used_pointString紅利折抵點數
balanceString紅利餘額
offset_amountString紅利折抵金額
due_amountString折抵後自付金額
card_identifier String 信用卡識別碼,每張信用卡只會對到一組識別碼
不支援:Apple Pay, Google Pay, Samsung Pay, LINE Pay, JKOPAY, Easy Wallet
card_info JSONObject 卡片資訊。不支援:LINE Pay, JKOPAY, 悠遊付
裡面包含以下值:
名稱類別(長度)內容
bin_codeString(6)卡片前六碼
last_fourString(4)卡片後四碼
issuerString發卡銀行
issuer_zh_twString發卡銀行中文名稱
bank_idString發卡銀行代碼
fundingint卡片類別
-1 = Unknown
0 = 信用卡 (Credit Card)
1 = 簽帳卡 (Debit Card)
2 = 預付卡 (Prepaid Card)
typeint卡片種類
-1 = Unknown
1 = VISA
2 = MasterCard
3 = JCB
4 = Union Pay
5 = AMEX
levelString卡片等級
countryString發卡行國家
country_codeString發卡行國家碼

Record
status
msg
records_per_page
page
total_page_count
rec_trade_id
auth_code
merchant_id
merchant_name
app_name
time
amount
refund_amount
record_status
cap-millis
original_amount
bank_transaction_start_millis
bank_transaction_end_millis

trade_history

針對所查詢之該交易下,每一筆交易的歷史紀錄的 JSON 陣列
每個歷史紀錄為一個 JSONObject , 並包含以下值:

名稱類別內容
amountint交易金額
actionint交易狀態
0 授權
1 請款
3 退款
4 待付款
5 取消
6 取消退款
millislong觸發該狀態的時間
successboolean該狀態是否成功
bank_transaction_millislong真實送到銀行進行授權、請款的時間,當 action = 3, 6 時,不支援此欄位
can_refund_cancel_millislongaction = 3,可以取消退款時回傳
refund_idStringaction = 3, 6 時回傳,退款動作由 TapPay 產生的辨識碼
request_idStringaction = 6 時回傳,退款請求動作的辨識碼
bank_refund_idString(20)商戶定義的退款紀錄識別碼(需為半形的英數字)
is_pendingBoolean當退款並未完成前會回應 true,已完成則會回傳 false
會出現此狀態的銀行:玉山銀行、台北富邦銀行、永豐銀行、凱基銀行、聯邦銀行、財團法人聯合信用卡處理中心、RAZER PAY
bank_result_codeString銀行錯誤代碼。
授權與請款會顯示實際從銀行拿到的最新狀態。
退款則會逐筆顯示
bank_result_msgString銀行錯誤訊息。
授權與請款會顯示實際從銀行拿到的最新狀態。
退款則會逐筆顯示

transaction_time_millis

What is it?

交易時間,單位為毫秒
請參考 https://currentmillis.com

payByPrime
payByToken

tsp(filter)

What is it?

名稱 類別 內容
tsp Bool 預設為 false
true 時搜尋 TSP 交易,不會搜尋其他 payment type 的交易

x-api-key

What is it?

每個 Portal 帳號的識別金鑰,亦稱為 partner_key 呼叫 TapPay 伺服器的 API 時必須將此值放進 header 中
您可於 Portal 左手邊的 Information 找到此值

payByPrime
payByToken
partner_key Refund
Record

samsung_pay_country_code

What is it?

Samsung Pay 驗證頁面國家及語言

內容
ae UAE (English)
au Australia (English)
br Brazil (Portu)
de_ch Switzerland (German)
fr_ch Switzerland (French)
hk Hong Kong (Chinese)
my Malysia (English)
ru Russia (Russian)
se Sweden (Swedish)
sg Singapore (English)
th Thailand (Thai)
tw Taiwan (Chinese)
uk UK (English)
us USA (English)
vn Vietnam (Vietnamese)

Each bank capture / refund time

銀行 TapPay 送請款時間 TapPay 收到銀行請款回覆檔的時間
中國信託銀行(一般) 06:00 PM 當下回應
中國信託銀行(銀聯) 06:00 PM 當下回應
中國信託銀行(批次) 06:00 PM 隔日 07:30AM
⽟山銀⾏ 11:30 PM 隔日 04:30 AM
台新銀⾏ 09:00 PM 當下回應
台北富邦銀⾏ 08:30 PM (取消授權/請款) 10:00 PM
國泰世華銀⾏ 10:00 PM 當下回應
永豐銀⾏ 09:00 PM 隔日 09:30 AM
凱基銀⾏ 10:00 PM 隔日 07:30 AM
合作金庫銀行 10:30 PM 當下回應
第⼀銀⾏ 10:30 PM 當下回應
聯邦銀行 10:00 PM 隔日 05:30 AM
財團法人聯合信用卡處理中心 10:00 PM 隔日 07:30 AM
藍新金流 06:00 PM 當下回應
陽信銀⾏ 10:30 PM 當下回應
中國銀⾏ 11:00 PM 當下回應
RAZER PAY 09:00 PM 當下回應
LINE Pay 10:00 PM 當下回應
環匯亞太 00:00 AM 隔日 12:00 pm