NAV
docs

Reference

acquirer

What is it?

Your acquirer or payment processor for this particular merchant involved in the transaction.

When using Reconciliation API and would like to search by acquirer, please put the bank name with the following parameter name in the request body.

Bank Name
Cathay United Bank TW_CATHAY
E.SUN BANK TW_ESUN
Taishin Bank TW_TAISHIN
CTBC BANK TW_CTBC
Bank SinoPac TW_NEW_SINOPAC
KGI BANK TW_KAIGI
TAIWAN COOPERATIVE BANK TW_TCB
First Bank TW_FIRST
National Credit Card Center of R.O.C. TW_NCCC
NewebPay TW_SPGATEWAY
Taipei Fubon Bank TW_FUBON
SUNNY BANK TW_SUNNY
BANK OF CHINA HK_BOC
UNION BANK OF TAIWAN TW_UBOT
RAZER PAY MY_MOLPAY
CHANG HWA Bank TW_CHB
globalpayments US_GLOBAL_PAYMENTS
LINE Pay TW_LINE_PAY
JKOPAY TW_JKO_PAY
Easy Wallet TW_EASY_WALLET
Atome TW_ATOME
Pi Wallet TW_PI_WALLET
Plus Pay TW_PLUS_PAY

payByPrime
payByToken

amount

What is it?

Total price for a particular transaction.

For refunds, a smaller than original amount is acceptable if partial refund is requested.

TWD:Lower limit of each transaction is NTD 1, upper limit of each transaction is NTD 20,000,000. Please fill in 1 when the transaction is TWD 1.

HKD:Lower limit of each transaction is HKD 0.01, upper limit of each transaction is HKD 252,500. Please fill in 101 when the transaction is HKD 1.01

MYR:Lower limit of each transaction is MYR 0.01, upper limit of each transaction is MYR 135,000. Please fill in 101 when the transaction is MYR 1.01

USD limit of each transaction is USD 0.01, upper limit of each transaction is USD 33,169. Please fill in 101 when the transaction is USD 1.01

payByPrime
payByToken
Refund
trade_records
Partial Refund

amount(filter)

What is it?

A filter that allows you to obtain trade records within a specific price range.
Foreign currency amount include two decimal places (e.g 100 representative 1.00).
There are two parameters:

Name Type(Max) Usage
upper_limit int Upper bound for the price
lower_limit int Lower bound for the price

filters

appid

What is it?

An integer identifier for your application or website.
This is used to activate your application or website in order to start using our services.
You can find it via Portal > Developer > Application. 第五步

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

appKey

What is it?

An authenticator key for your application or website.
This is used to activate your application or website in order to start using our services.
You can find it via Portal > Developer > Application. 第五步

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

appname

What is it?

Name for the application or website as defined on Portal. 第五步

rec_trade_id
auth_code
merchant_id
merchant_name
time
amount
refund_amount
record_status
trade_records

attribute

What is it?

Criteria for sorting the records.
It may contain the following values:

Value Usage
time Sort by the transaction time
amount Sort by the transaction amount

order_by
is_descending
time
amount

auth_code

Proof of authorized transaction from the bank.

payByPrime
payByToken
trade_records

bank_id

What is it?

Name bank_id
CTBC Bank 822
Taishin Bank 812
E.SUN Bank 808
Cathay Bank 013
Mega Bank 017
Standard Chartered 052
KGI BANK 809
UBOT 803
JIHSUNBANK 815
EnTie Bank 816
Yuanta Bank 806
THE SHANGHAI COMMERCIAL & SAVINGS BANK, LTD. 011
Bank SinoPac 807
THE SHANGHAI COMMERCIAL & SAVINGS BANK, LTD., LTD. 103
Hwatai Bank 102
Bank of Communications 003
TAIWAN COOPERATIVE BANK 006
Taiwan Business Bank 050
King’s Town Bank 054
HSBC 081
Sunny Bank 108
Cota Commercial Bank 147
First Bank 007
CHUNGHWA POST CO. 700
The Chinese Bank 804
Ta Chong Bank 814
Bank of Taiwan 004
HUA NAN BANK 008
TAIPEI Taipei Fubon Bank CO. 012
Agricultural Bank of Taiwan 018
O-BANK CO. 048
Far Eastern International Bank 805
Wantai Bank 809
Land Bank Of Taiwan 005
Chang Hwa Bank 009
Citibank 021
Taichung Bank 053
The Bank of East Asia Limited 075
Bank of Panhsin 118
DBS BANK (TAIWAN), LTD 810

backend_notify_url

What is it?

The backend URL of the merchant server to receive the transaction result. Must start with https.

The following are the main reasons that cause the status of the transaction become “pending”: customer didn’t finish the verification, customer improper operation or abnormal connection between TapPay and acquirer. (In these situations, merchant will not receive backend notify from TapPay.)



Status Checking for Pending Transaction

10-20 minutes after the order is established, TapPay will check the status with the bank for pending payments, which will check utmost two times for each transaction.

While getting the status “Authorized SUCCESS” from the bank, TapPay will update the status on the portal and send Backend Notify to the merchant. Otherwise, we will stop checking with the bank and the status will remain pending on the portal.

Banks we have pending Status Checked
TAISHIN BANK
E.SUN BANK
CATHAY UNITED BANK
NewebPay
National Credit Card Center of R.O.C.
TAIPEI FUBON BANK
RAZER PAY
BANK SinoPac
CHANG HWA BANK
Wallet we have pending Status Checked
JKOPAY
EASY WALLET
Pi Wallet
Plus Pay

bank_order_number

What is it?

The order number that banks or e-wallets send back while authorization.

Name of bank / e-wallet Length
Easy Wallet 30
Pi Wallet 20

bank_refund_order_number

What is it?

The refund order number that banks or e-wallets send back while refund.

Name of bank / e-wallet Length
Easy Wallet 30
Atome 30
Pi Wallet 14
Plus Pay 64

bank_transaction_id

What is it?

A self-defined unique identifier for the bank.
It should consist of numbers and uppercase letters only.
If it is not defined during payment, we will automatically generate one for you.
If you wish to define this parameter, please note that each bank may impose different restrictions on length:

Name Maximum Length Spec
E.SUN BANK 20 Not Support: _
Taishin Bank 23
CTBC BANK 19 Only Support: English alphabets, numbers and _
Bank SinoPac 40
Taipei Fubon Bank 25
LINE Pay 40
KGI BANK 40
UNION BANK OF TAIWAN 40
Cathay United Bank 20 Only Support: Capital letters and numbers
TAIWAN COOPERATIVE BANK 19
First Bank 19
National Credit Card Center of R.O.C. 40 Not Support: Chinese
NewebPay 20
SUNNY BANK 19
BANK OF CHINA 40
RAZER PAY 32
JKOPAY 40
Easy Wallet 50
CHANG HWA Bank 19
globalpayments 40
Atome 40
Pi Wallet 30
Plus Pay 40

payByPrime
payByToken
trade_records
rec_trade_id

bank_transaction_end_millis

What is it?

Time when the bank actually begins processing the transaction.

trade_records

bank_transaction_start_millis

What is it?

Time when the bank finishes processing the transaction.

trade_records

bank_transaction_time

What is it?

Time when the bank handles the transaction.
There are two parameters:

Name Type Usage
start_time_millis String Start time.
end_time_millis String End time.

start_time_millis
end_time_millis

card_identifier(filter)

What is it?

Name  Type Content
card_identifier String Use card_identifier filter transaction records.

card

What is it?

The JSONObject returned by TPDirect.card.createToken().
It contains the prime token as well as the last four digits of the customer’s card.

TPDirect.card.createToken()
status
client_ip
prime
last_four

cardholder

What is it?

Information of the owner of the card. It should contain the following keys:

Name(* = required) Type(Max) Usage
phone_number* String(40) Cellphone number, E. 164 format with the ’+’ sign(“+886923456789”)
name* String(40) Name
email* String(40) E-mail address
zip_code String(40) Zip code number
address String(90) Billing address
national_id String(40) National ID

Optional keys should still have the corresponding keys present, but you may have empty strings as their values.
i.e. zip_code: “”, address: “”, national_id: “”

The key value that must be verified of each supported bank.

Support Bank Key Value Note
NCCC national_id If this is a property and life insurance transaction , we strongly recommend you to do the identity verification (KYC).
If using the merchant id only can do authentication except authorization, phone number can be verified
Taishin Bank national_id If the issuer bank of the card is Taishin Bank, phone_number can be verified.
(Please use the phone number with 09XX-XXX-XXX to avoid any error.)
E.SUN Bank (only support on-us card) national_id
TapPay phone_number The phone number must start with 09, otherwise it will cause KYC failed.
Phone number identity authentication for card-on-file only support Visa, MasterCard and JCB cards that issued in Taiwan, other cards will authorization directly.

payByPrime
payByToken

cardholder(filter)

What is it?

A filter that allows you to obtain trade records within a specific card holder.
There are three parameters:

Name Type Content
name String Name
phone_number String Cellphone number
email String E-mail address

Record

card_info

What is it?

Information of the card being charged.
It should contain the following keys:

Name Type(Max) Content
bin_code String(6) First six digits of the card
last_four String(4) Last four digits of the card
issuer String Card issuer
issuer_zh_tw String Issuer chinese name
bank_id String Bank identifier
funding int Card usage
-1 = Unknown
0 = credit card
1 = debit card
2 = prepaid card
type int Card type
-1 = Unknown
1 = VISA
2 = MasterCard
3 = JCB
4 = Union Pay
5 = AMEX
level String Card level
country String Country of card issuer
country_code String Country code of card issuer
expiry_date String Card expired date, Format : YYYYMM,
Only will return when remember = true ( Apple Pay / Google Pay / LINE Pay / Samsung Pay will not return this parameter )

payByPrime
payByToken

card_info

What is it?

Information of the card being charged.
It should contain the following keys:

Name Type(Max) Content
bin_code String(6) First six digits of the card
last_four String(4) Last four digits of the card
issuer String Card issuer
funding int Card usage
-1 = Unknown
0 = credit card
1 = debit card
2 = prepaid card
type int Card type
-1 = Unknown
1 = VISA
2 = MasterCard
3 = JCB
4 = Union Pay
5 = AMEX
level String Card level
country String Country of card issuer
country_code String Country code of card issuer
expiry_date String Card expired date, Format : YYYYMM,
Only will return when remember = true ( Apple Pay / Google Pay / LINE Pay / Samsung Pay / Atome / Pi Wallet will not return this parameter )
token_status String Token Status: ACTIVE/ SUSPENDED/ DELETED

payByPrime
payByToken

card_key

What is it?

A security key used to encrypt the card_token.
This is returned in the card_secret object of payByPrime API if and only if the remember parameter is set to true.
You may use the card key and token to pay using the payByToken API, and thus avoid getting a prime token and calling payByPrime entirely.

payByPrime
payByToken
card_token
remember

cardNumber

What is it?

A 16 digits number of the credit card.

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

card_secret

What is it?

A JSONObject that contains the customer’s card_key and card_token.

Name Type(Max) Content
card_key String(64) A security key used to encrypt the card_token.
card_token String(67) A permanent token that represents the customer’s card.

This is returned in payByPrime API only if the remember parameter is set to true.
Next time, you may use the returned card_key and token to pay using the payByToken API, and thus avoid getting a prime token and calling payByPrime entirely.

payByPrime
payByToken
card_key
card_token
remember

card_token

What is it?

A permanent token that represents the customer’s card.
This is returned in the card_secret array of payByPrime API if and only if the remember parameter is set to true.
You may use the card_key and token to pay using the payByToken API, and thus avoid getting a prime token and calling payByPrime entirely.

payByPrime
payByToken
card_key
remember

CCV

What is it?

A 3 digits security code found on the back of the credit card.
It is also known as CVV, or Card Verification Value.

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

client_ip

What is it?

IP address of the client.

TPDirect.card.createToken()
status
card

currency

What is it?

The letter abbreviation for currency, following ISO 4217.
For example, New Taiwan Dollars = “TWD”

Bank Support currency
CTBC BANK Taiwan New Dollar(TWD)
E.SUN BANK Taiwan New Dollar(TWD)
Taishin Bank Taiwan New Dollar(TWD)
Cathay United Bank Taiwan New Dollar(TWD)
Bank SinoPac Taiwan New Dollar(TWD)
KGI BANK Taiwan New Dollar(TWD)
TAIWAN COOPERATIVE BANK Taiwan New Dollar(TWD)
First Bank Taiwan New Dollar(TWD)
NCCC Taiwan New Dollar(TWD)
NewebPay Taiwan New Dollar(TWD)
Taipei Fubon Bank Taiwan New Dollar(TWD)
SUNNY BANK Taiwan New Dollar(TWD)
UNION BANK OF TAIWAN Taiwan New Dollar(TWD)
BANK OF CHINA Hong Kong Dollar(HKD)
RAZER PAY Malaysia Dollar(MYR)
Global Payments Taiwan New Dollar(TWD), US Dollar (USD)
LINE Pay Taiwan New Dollar(TWD)
JKOPAY Taiwan New Dollar(TWD)
Easy Wallet Taiwan New Dollar(TWD)
Atome Taiwan New Dollar(TWD)
Pi Wallet Taiwan New Dollar(TWD)
Plus Pay Taiwan New Dollar(TWD)

payByPrime
payByToken

delay_capture_in_days

What is it?

The number of days between the time bank authorizes the payment and the time bank actually captures the payment.
You may wish to extend this period up to 7 days.
If you wish to capture the payment yourself, use -1 as the value to disable automatic capture.

When you call Cap Today API, TapPay will send the capture request to the banks on the same day. To confirm whether the captured is succeed, we suggest you check the transaction status on TapPay Portal or call Record API to double confirm the transaction status after 9 am on the next day.

Refund
Partial Refund

details

What is it?

List of product/service purchased in the transaction.
This field will appear in the bank system.

Banks Contant
CTBC BANK Limit 18 Character, the encoding method should be Big-5, or the unsupported characters will be deleted.
Sunny Bank Limit 18 Character.
Taishin Bank Limit 40 Character.
NewebPay Limit 50 Character.
Cathay United Bank Not support this field.
E.SUN BANK Not support this field.
KGI BANK Not support this field.
Bank SinoPac Not support this field.
TAIWAN COOPERATIVE BANK Not support this field.
First Bank Not support this field.
NCCC Not support this field.
Atome The limitation of the length is 500.
Format Example: [{"item_id":"apple123","item_name":"apple","item_quantity":1,"item_price":10}]
Note: Need to convert string format before put into details field, Example: {"details": "[{\"item_id\":\"apple123\",\"item_name\":\"apple\",\"item_quantity\":1,\"item_price\":10}]"}
Name(* = required)Type(Max)Usage
item_id*String(60)Item ID
item_name*String(60)Item name
item_quantity*IntegerQuantity of each item
item_price*IntegerUnit price of each item
Pi Wallet The limitation of the length is 500.
Format Example: [{"item_name":"apple","item_quantity":1,"item_price":10}]
Note: Need to convert string format before put into details field, Example: {"details": "[\"item_name\":\"apple\",\"item_quantity\":1,\"item_price\":10}]"}
Name(* = required)Type(Max)Usage
item_nameString(60)Item name
item_quantityIntegerQuantity of each item
item_priceIntegerUnit price of each item

payByPrime
payByToken

dueMonth

What is it?

A 2 digits number of expired month of the credit card.
It should be one of the following values:

Month Value
January 01
February 02
March 03
April 04
May 05
June 06
July 07
August 08
September 09
October 10
November 11
December 12

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

dueYear

What is it?

A 2 digits number of expired year of the credit card.
It should be the last two digits of the expired year. i.e. “2019” -> “19”

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

extra_info

What is it?

Installment extra information , each banks return different parameter please refer to the table.

BanksNameTypeContent
Taishin Bankinstall_order_noStringInstalment serial number
install_periodStringInstalment period
install_pay_feeStringEach period fee
install_payStringEach period amount
install_down_payStringFirst period amount
install_down_pay_feeStringFirst period fee
National Credit Card Center of R.O.C.installmentStringInstalment period
installment_typeStringInstalment payment fee type
first_amtStringFirst period amount
each_amtStringEach period amount
feeStringInstalment payment fee
NewebPayinstIntegerInstalment period
inst_firstIntegerFirst period amount
inst_eachIntegerEach period amount
Cathay United Bankperiod_numberStringInstalment period
E.SUN BANKITAStringInstalment total amount
IPStringInstalment period
IPAStringEach period amount
IFPAStringFirst period amount
UNION BANK OF TAIWANperiodStringInstalment period
rateStringInstalment payment rate(fixed 0000)
downPaymentAmtStringFirst period amount
eachPaymentAmtStringEach period amount
interestAmtStringInstalment payment fee(NTD)

Error Handling

Backend API error code and error handling

status msg Error Handling
92 The acquirer doesn’t support void auth date is different from the auth date. The Acquiring Bank only supports execute voiding authorization on the same day as authorization. Please execute refund after capping

filters

What is it?

Ways for you to filter the trade records.
All of the filters are optional.
There are several ways to filter:

Name Type(Max) Default Rules
time JSONObject Time frame should be 90 days or less.
amount JSONObject {“upper_limit”: no limit, “lower_limit”: 0}
merchant_id String array
record_status int
rec_trade_id String(20)
tsp String
card_identifier String

time(filter)
amount(filter)
merchantid(filter)
record_status
rec_trade_id

final_price

What is it?

Insurance price

The sum of all insurance price should equal to the number you set in the amount of Pay by Prime API.

payByPrime

frontend_redirect_url

What is it?

The frontend website URL of the merchant where the customer will be brought to after finishing transaction process on LINE Pay, JKOPAY APP, Atome, Pi Wallet, Plus Pay or 3D verification. This URL must start with https.

geoLocation

What is it?

The location of the client in latitude and longitude.
The format should be “(Latitude, Longitude)” or “UNKNOWN”. i.e. (12.345678, -12.345678)

TPDCard.createToken()

instalment

What is it?

Number of intervals of payments for a particular transaction.
If you do not offer instalment service, default set this value as 0.

payByPrime
payByToken

insurance_type

What is it?

Insurance type

Code Type
A01 life insurance
A02 accident insurance
A03 medical insurance
A04 cancer insurance
A05 critical illness insurance
A06 disability insurance
B01 travel accident insurance
B02 fire insurance
B03 motorcycle insurance
B04 auto insurance
B05 marine insurance
B06 casualty Insurance
B07 engineering insurance
B08 accident & health insurance
B09 combination

payByPrime

insured

What is it?

National id of insured

payByPrime

is_descending

What is it?

Criteria for sorting the records.
It may contain the following values:

Value attribute Value Usage
true time Sort from newest record to oldest record
true amount Sort from most expensive record to least expensive record
false time Sort from oldest record to newest record
false amount Sort from least expensive record to most expensive record

order_by
is_descending
time
amount

last_four

What is it?

The last four digits of the customer’s card.

onSuccessCallBack
card
prime

merchant_id

What is it?

An identifier for each individual merchant.
It should consists of less than 50 alphanumeric characters.
You need to specify the merchants involved in the transaction during payment APIs.

payByPrime
payByToken
Record
merchant_id(filter)
trade_records

merchant_id(filter)

What is it?

A filter that allows you to obtain trade records with specific merchant ID.
You may search with multiple merchant IDs at once by putting them in an array.

filters
merchant_id

merchant_name

What is it?

Name for each individual merchant as defined on Portal.

rec_trade_id
auth_code
merchant_id
appname
time
amount
refund_amount
record_status
trade_records

millis

What is it?

Time of transaction measured in milliseconds.
Please see https://currentmillis.com for more detail.

payByPrime
payByToken

msg

What is it?

The error message that explains which error the status corresponds to.
Please refer to our error table.

TPDCard.createToken()
payByPrime
payByToken
Refund
Record
onFailureCallBack
status

number_of_transactions

What is it?

Total number of transactions.

Record

onFailureCallBack()

What is it?

A callback method for the createToken() method in TPDCard.
It is invoked when the method fails and returns the status and error message.

TPDCard.createToken()
onSuccessCallBack()
status
msg

onSuccessCallBack()

What is it?

A callback method for the createToken() method in TPDCard.
It is invoked when the method is successful and returns the prime token and the last four digits of the customer’s card number.

TPDCard.createToken()
onFailureCallBack()
prime
lastfour

order_by

What is it?

Criteria for sorting the records.
It is a JSONObject with the following keys:

Name Type Default Values Possible Values
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?

A self-defined identifier for each transaction, for TapPay to identify transaction.

This parameter doesn’t allow null.

payByPrime
payByToken
filters
trade_records

original_amount

What is it?

The original amount of the transaction.
This value will not change even if the transaction was refunded.

trade_records

page

What is it?

A parameter that determines which page of the total records you wish to see.
This parameter starts from 0 and the default value is also 0.
The number of records for each page is defined by the records_per_page parameter.
For example, if the total number of records is 400, and records_per_page is set to 200, then page 0 will display record 1~200, and 201~400 on page 1.
Had the parameter records_per_page been set to 50, then there would be 4 pages.
1~50 on page 0, 51~100 on page 1, 101~150 on page 2, and 151~200 on page 3.

Record
records_per_page

Partial Refund

What is it?

Partial refund could only be executed after captured successfully.
Payment process is as follows:

Transaction happens > Payment is captured based on delay_capture_in_days > Partial refund is available only after captured successfully

e.g. A transaction happened on October 9th.
If the delay_capture_in_days parameter is 0, then the transaction will be captured on the same day. However, Partial refund only could be executed after captured successfully.

e.g. A transaction happened on October 9th.
If the delay_capture_in_days parameter is 3, then the transaction will be captured on October 12th. Therefore, partial refund is available starting from October 13th if the transaction has been successfully captured.

*If it shows “capture successfully” from TapPay, but couldn’t do partial refund. Please try it again one day after due to the bank issue.

Refund
delay_capture_in_days

partner_key

What is it?

An authentication key for each individual partner.
You must always put this in your header as the value of “x-api-key” when calling TapPay server API.
You can find it via Portal > Information

payByPrime
payByToken
Refund
Record
x-api-key

payByPrime

What is it?

An API that allows you to pay using the prime token.
You would need to use this API to pay if the customer hasn’t registered his or her card before or does not wish to save his or her card.

API Tutorial

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?

An API that allows you to pay using the card_token and card_key.
You could use this API to pay if the customer allows you to save card information, so you can skip the creatToken step.

API Tutorial

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

partial_card_number

What is it?

First six digits of the card and last four digits of the card

Record

payment_deadline

What is it?

Payment deadline

payByPrime

payment_frequency

What is it?

Payment frequency

Value Type
0 Lump-sum payment
1 Monthly payment
3 Quarterly payment
6 Semi-annually payment
12 Annually payment

payByPrime

policy_id

What is it?

Policy id, self-defined

payByPrime

prime

What is it?

A one-time token that represents a customer’s card.
It is a token returned by TPDirect.card.createToken() or the onSuccessCallBack() of TPDCard.createToken().
You would need this token to pay in the payByPrime API.
This token will expire after 90 seconds upon creation.
If using Apple Pay Deferred Payments, please keep prime by yourself.
The duration of each prime is set up for 30 days as default. It will be used by calling Pay By Prime API.
You can use this prime for test in sandbox environment.

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

proposer

What is it?

National id of proposer

payByPrime

Production

What is it?

The official environment that charges customer’s cards for transactions.
You product should be in this environment when it officially launches and goes live.
You can specify the environment for your application during TPDSetup.initInstance().
You can specify the environment for your website during TPDirect.setupSDK().

Things to remember:
1. Register your merchants in the production environment on Portal and use the official bank’s acquirer account.
2. Register your IP in the production environment on Portal.
3. Use the production app key instead of the sandbox one.
4. When setting the Frontend environment, change the server type to production.
5. The Backend APIs should use the production domain instead of the sandbox one.(https://sandbox.tappaysdk.com/tpc/ -> https://prod.tappaysdk.com/tpc/)

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

product_image_url

What is it?

The picture of the store or the product on the pay page. The feature of this parameter is same as line_pay_product_image_url. However, if you set both product_image_url and line_pay_product_image_url in the request, we will use the url in product_image_url.

Name Length image size
LINE Pay 500 84 x 84

Record

What is it?

An API that allows you to get previous trade records.

API Tutorial

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?

A parameter that determines how many records would be returned for calling the Record API.
The default amount is 50 and the maximum amount is 200.
For example, if the total number of records is 400, and records_per_page is set to 200, then there would be 2 pages total.
Page 0 will display record 1~200, and 201~400 for page 1.

Record
page

Redeem extra_info

What is it?

Redeem extra information , each banks return different parameter please refer to the table.

BanksNameTypeContent
National Credit Card Center of R.O.C.redeem_usedStringPoints be used
credit_amtStringAmount Due
redeem_balanceStringPoints balance
redeem_typeString1 : Points be partial used
2 : Points be total used

record_status

What is it?

Status of a particular transaction.
Here is a list of possible values:

Value State Status
-1 ERROR An error has occurred to the transaction.
0 AUTH The bank has authorized the transaction, but yet to capture the payment.
1 OK The transaction is complete.
2 PARTIALREFUNDED The transaction is partially refunded.
3 REFUNDED The transaction has been completely refunded.
4 PENDING The transaction is pending.
5 CANCEL The transaction is cancel.

filters
trade_records

rec_trade_id

What is it?

A unique identifier for each transaction generated by TapPay server.
You would need this identifier when you attempt to refund a particular transaction.
It is returned by our server after calling a successful payment API.

payByPrime
payByToken
Refund
filters
trade_records

Refund

What is it?

An API that allows you to refund transaction, fully or partially.

API Tutorial

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

refunded_amount

What is it?

The actual amount refunded returned by our server.

Refund
trade_records

remember

What is it?

The boolean value that determines whether or not the card information should be saved or not.
If a customer allows you to save his or her card, you can set this value to true to receive the card_key and card_token, so you can use these two values to pay in the future instead of the prime token.

payByPrime
card_secret

Sandbox

What is it?

A type of environment that has all the functions of a production environment except no money will be charged for the transactions.
You should first test your application or website in this environment before you move on to the production environment.
You can specify the environment for your application during TPDSetup.initInstance().
You can specify the environment for your website during TPDirect.setupSDK().

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

Web SDK compatibility

Safari Direct pay Apple pay Google pay (Real Card) Google Pay (Token Card) PaymentRequestAPI LINE Pay Samsung Pay JKOPAY
Mac Safari O O O X X O X O
iOS Safari O O O X X O X O
Chrome Direct pay Apple pay Google pay (Real Card) Google Pay (Token Card) 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 (Real Card) Google Pay (Token Card) 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 (Real Card) Google Pay (Token Card) 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 (Real Card) Google Pay (Token Card) PaymentRequestAPI LINE Pay Samsung Pay JKOPAY
Windows Edge O X O X X O O O
IE11 Direct pay Apple pay Google pay (Real Card) Google Pay (Token Card) PaymentRequestAPI LINE Pay Samsung Pay JKOPAY
Windows IE11 O X X X X O X O
Facebook Browser Direct pay Apple pay Google pay (Real Card) Google Pay (Token Card) 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 (Real Card) Google Pay (Token Card) PaymentRequestAPI
iOS LINE Browser O X X X X
Android LINE Browser O X X X X

serverType

What is it?

A value that differentiates sandbox and production environment.
It should be one of the following values:

Value Usage
sandbox Sandbox environment
production Production environment

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

status

What is it?

The response code.
Please refer to our error table.

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

Status Code

What is it?

Status code returned by our JavaScript SDK that depicts the current situation of the card form the customer is filling out:

code Usage
0 OK
1 EMPTY
2 ERROR
3 TYPING

TapPay Fields Styles

What it is?

TapPay Fields Supported CSS Style

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?

All the test cards below only support the test transaction in the test environment.

To test Token Pay, please use real card in the test environment. You will not be charged if you use real cards to test in the test environment of Token Pay.

Please contact TapPay Support to get the test information of all the wallet pay.

PS: Use a valid future date for card expired year and expired month

Card Number CCV Result
4242 4242 4242 4242 123 0 - Success ( type : Visa )
3543 9234 8838 2426 123 0 - Success ( type : JCB )
3454 5465 4604 563 1234 0 - Success ( type : AMEX )
5451 4178 2523 0575 123 0 - Success ( type : MASTERCARD )
Complete three-domain-secure transaction without OTP validation
6234 5774 3859 4899 123 0 - Success ( type : UnionPay )
4716 3139 6829 4359 123 0 - Success ( type : Visa )
The bank_id and issuer_zh_tw will be blank, if you test with this test card
4242 4202 3507 4242 123 915 - Unknown Error, please contact TapPay customer service
4242 4216 0218 4242 123 10003 - Card Error
4242 4222 0418 4242 123 10005 - Bank System Error
4242 4240 1026 4242 123 10006 - Duplicate Transaction
4242 4246 1228 4242 123 10008 - Bank Merchant Account Data Error
4242 4264 1829 4242 123 10009 - Amount Error
4242 4276 2229 4242 123 10013 - Order number duplicate
4242 4288 2639 4242 123 10023 - Bank Error
4242 4210 0008 4242 123 10015 = Redeem Failed


If you would like to test Card Metadata API in the sandbox environment,
you have to use following test cards, which will produce the corresponding result.

Card NumberCCVResult
5480 3543 1215 3777123It will return real card face.(Mastercard)
token_status=“ACTIVE”, card art status=“SUPPORT”, is_real_card_face=“TRUE”
4622 9431 2741 6387123It will return real card face.(Visa)
token_status=“ACTIVE”, card art status=“SUPPORT”, is_real_card_face=“TRUE”
4242 4217 4599 4242123It will return fake card face. (Merchant call card metadata API by an unsupported credit card)
token_status=“NOT_SUPPORT”, card art status=“NOT SUPPORT”, is_real_card_face=“FALSE”
4242 4278 8927 4242123It will return fake card face.
token_status=“REQUEST_PROCESSING”, card art status=“REQUEST_PROCESSING”, is_real_card_face=“FALSE”
4242 4230 1382 4242123It will return fake card face.
token_status=“ACTIVE”, card art status=“NOT_SUPPORT”, is_real_card_face=“FALSE”
4242 4235 5081 4242123It will return fake card face.
token_status=“ACTIVE”, card art status=“REQUEST_PROCESSING”, is_real_card_face=“FALSE”
4242 4246 9569 4242123It will return fake card face.
token_status=“SUSPENDED”, card art status=“NOT_SUPPORT”, is_real_card_face=“FALSE”
4242 4253 9494 4242123It will return fake card face.
token_status=“SUSPENDED”, card art status=“REQUEST_PROCESSING”, is_real_card_face=“FALSE”
4242 4266 2411 4242123It will return fake card face.
token_status=“DELETED”, card art status=“NOT_SUPPORT”, is_real_card_face=“FALSE”
4242 4272 1860 4242123It will return fake card face.
token_status=“DELETED”, card art status=“REQUEST_PROCESSING”, is_real_card_face=“FALSE”
4242 4259 9407 4242123It will return fake card face.
token_status=“DELETED”, card art status=“SUPPORT”, is_real_card_face=“FALSE”
4242 4264 8626 4242123It will return fake card face.
(When the transaction was done, but card holder called issuers to delete the card before merchant call Card Metadata API.)
token_status=“NOT_SUPPORT”,card art status=“NOT_SUPPORT”, is_real_card_face=“FALSE”
5455 7339 9439 8399123It will return real card face.
(This is an unsupported credit card in TSP system, but this card’s real card face is stored in TapPay server)
token_status=“NOT_SUPPORT”, card art status=“SUPPORT”, is_real_card_face=“TRUE”
4242 4241 8178 4242123It will return real card face.
token_status=“SUSPENDED”, card art status=“SUPPORT”, is_real_card_face=“TRUE”



If you want to test Card Notify API in sandbox, please use follow test card number:

Card NumberCCVResult
4242 4241 8178 4242123token_status=“SUSPENDED”, card art status=“SUPPORT”, is_real_card_face=“TRUE”

If you want to test identity verification(KYC) in sandbox, please use testing national id and phone number as below.

National id Phone number
A123456789 0912345678

cardNumber
dueMonth
dueYear
CCV

time

What is it?

Time of transaction measured in milliseconds.
Please see https://currentmillis.com for more detail.

rec_trade_id
auth_code
merchant_id
merchant_name
appname
amount
refund_amount
record_status
trade_records

time(filter)

What is it?

A filter that allows you to obtain trade records from a specific time period.
The key value in the filters of Record API request body. Time frame should be 90 days or less.
There are two parameters:

Name Type Usage
start_time long Starting time measured in milliseconds
end_time long Ending time measured in milliseconds

filters

total_page_count

What is it?

The total number of pages under the given filters.
Note that page starts from 0, so if the total_page_count is 2, there are only page 0 and page 1.

Record
status
msg
records_per_page
page
trade_records

TPDCard

What is it?

An class for setting up the client’s card.



TPDSetup
TPDCard.createToken()
cardNumber
dueMonth
dueYear
CCV

TPDCard.createToken()

What is it?

An method for exchanging the customer’s card information with a prime token for transaction.
If successful, the returned prime token will allow you to pay using payByPrime API.

TPDCard
geoLocation
prime
onSuccessCallBack()
onFailureCallBack()
payByPrime

TPDirect.card.createToken()

What is it?

An method for exchanging the customer’s card information with a prime token for transaction.
If successful, the prime token returned in the card array will allow you to pay using payByPrime API.


cardNumber
dueMonth
dueYear
CCV
status
card
client_ip
payByPrime

TPDirect.setupSDK()

What is it?

A method in TPDirect for setting up the environment.
You need to call this method to activate your website in order to use our service.


TPDirect.card.createToken()
appid
appKey
serverType

TPDServerType

What is it?

An enum used to differentiate sandbox and production environment.
It should be one of the following values:

Value Usage
TPDServerType.Sandbox Sandbox environment
TPDServerType.Production Production environment

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

TPDSetup

What is it?

An class for setting up the environment.



TPDCard
TPDSetup.initInstance()

TPDSetup.initInstance()

What is it?

A method in TPDSetup for setting up the environment.
You need to call this method to activate your application in order to use our service.

TPDSetup
appid
appKey
TPDServerType

trade_records

What is it?

The JSONArray that contains all records under the given filters.
Each record will contain the following information:

Name Type(Max) Usage
rec_trade_id String(20) Record identifier.
auth_code String(6) Authorization code from the bank.
merchant_id String(50) Identifier of the merchant involved in this trade.
merchant_name String(50) Name of the merchant involved in this trade.
app_name String Name of the website / application involved in this trade.
time long Time of the record in milliseconds.
amount int Price of the record.
It will change if the transaction was refunded.
refunded_amount int Refunded price of the record.
refund_info JSONObject Refund information
When use plus pay will return.
This field displays returned reward amount and cash information from wallet after the refund.
It will be determined according to the rules of each wallet whether the points or amounts will be returned first after the refund.
NameTypeContent
returned_reward_amountIntreturned reward amount.
returned_real_amountIntreturned cash. If there’s no returned cash, it displays 0.
record_status int Status of the record.
bank_transaction_id String A self-defined unique identifier for the bank.
bank_order_number String The order number that banks or e-wallets send back while authorization.
Support : Easy Wallet, Pi Wallet
Please refer to Reference for the length limitation of all supported banks and e-wallets.
cap_millis long Time when the transaction payment will be captured.
original_amount int Original price of the record.
bank_transaction_start_millis long Time when the bank begins processing the transaction.
bank_transaction_end_millis long Time when the bank finishes processing the transaction.
is_captured boolean Whether this record is captured or not.
bank_result_code String(40) Response code from the bank.
bank_result_msg String(300) Error message from the bank.
partial_card_number String First six digits of the card and last four digits of the card
payment_method String Payment Method
NameContent
direct_payDirect Pay
apple_payApple Pay
google_pay_tokenGoogle Pay Token Card
google_pay_fpanGoogle Pay Real PAN
samsung_paySamsung Pay
line_payLINE Pay
tsp_tokenTSP Token
jko_payJKOPAY
easy_walletEasy Wallet
atomeAtome
pi_walletPi Wallet
plus_payPlus Pay
details String List of product/service purchased in the transaction.
cardholder JSONArray Information of the owner of the card
NameTypeContent
nameStringName
phone_numberStringCellphone number
emailStringE-mail address
zip_codeString(40)Zip code number
addressString(90)Billing address
national_idString(40)National ID
member_idString(64)Member ID of the cardholder or the customer determined by merchants.
Used in TapPay fraud detector and member information management. Support: Direct Pay
bank_member_idString(50)Member ID of the cardholder or the customer.
This ID can be determined by merchants or common ID between merchants and banks or e-wallet.
This column is required when binding Easy Wallet.Support : Easy Wallet
merchandise_details JSONObject product detail
NameTypeContent
no_rebate_amountIntThe amount of non-applicable rebate (for example: cigarette)
no_bonus_amountIntThe amount of non-applicable bonus (for example: cigarette)
currency String The transaction currency
merchant_reference_info JSON Merchant reference information
NameTypeContent
affiliate_codesArrayThis parameter will be returned when the merchant uses the feature of Affiliate Code in TapPay Portal and the transaction match the setting or the affiliate code that TapPay receive from E-wallet.
Not Support: JKOPAY, Easy Wallet, Atome, Pi Wallet
member_uidString(60)Member identifier. (Reply from third parties)
e_invoice_carrier JSONObject Information of e-invoice carrier
NameTypeContent
typeInt(3)Type of e-invoice carrier
0 = Mobile Barcode
1 = MOICA Barcode
-1 = Other Barcode
-2 = unused
numberString(100)E-invoice carrier’s number
donationBooleanDonation
donation_idString(50)Donation ID
three_domain_secure boolean Is it an 3D secure transaction
pay_by_instalment boolean Is it an instalment transaction
instalment_info JSONObject
NameTypeContent
number_of_instalmentsintNumber of instalments
first_paymentintFirst instalment amount
each_paymentintEach instalment amount
order_number String A self-defined identifier for each transaction, for TapPay to identify transaction. This parameter doesn’t allow null.
pay_info JSONObject Payment Information
Support:LINE Pay, JKOPAY, Easy Wallet, Atome, Pi Wallet, Plus Pay
If a LINE Pay transaction is called by “pay by token API”, “” will be returned in “method” and “masked_credit_card_number” parameters, and “0” in other parameters.
Only bank account and Debit card can be added to Atome, so the price value will only be showed in pay_info.
NameTypeContent
methodStringPaymeny Type, only support LINE Pay
1. CREDIT_CARD(credit card)
2. BALANCE(iPASS)
3. POINT (LINE Point Fully offset)
4. DISCOUNT
masked_credit_card_numberStringCredit card last four digits
Will return only when using LINE Pay, Plus Pay. Please contact Plus Pay if you need this information.
pointIntThe amount of the point discount, if there is no offset, it is 0
discountIntThe amount of the point discount, if there is no offset, it is 0
credit_cardIntUse credit card to pay the amount. If this payment method is not used, it will be displayed as 0
balanceIntUse the wallet stored-value account to pay the amount. If this payment method is not used, it will be displayed as 0
bank_accountIntUse the linked bank account to pay the amount. If this payment method is not used, it will be displayed as 0
bin_codeStringFirst six~eight digits of the card. Will return only when using Plus Pay. Please contact Plus Pay if you need this information.
pay_by_redeem boolean Is it an redeem transaction
redeem_info JSONObject
NameTypeContent
used_pointStringPoints be used
balanceStringPoints balance
offset_amountStringcredit
due_amountStringamount due
kyc_info JSONObject
NameTypeContent
is_kyc_verifiedBooleanWhether to do identity verification(KYC) or not (Return true if the cardholder_verify.national_id is set to true)
kyc_verification_merchant_idStringThe merchant id which do the identity verification(KYC) (same as kyc_verification_merchant_id)
card_identifier String Card identifier. Each credit card will only have one card identifier. Not Support : Apple Pay, Google Pay, Samsung Pay, LINE Pay, JKOPAY, Easy Wallet, Atome, Pi Wallet, Plus Pay.
card_info JSONObject Card information.
Not support LINE Pay, JKOPAY, Easy Wallet, Atome, Pi Wallet, Plus Pay
NameType(Max)Content
bin_codeString(6)First six digits of the card
last_fourString(4)Last four digits of the card
issuerStringCard issuer
issuer_zh_twStringIssuer chinese name
bank_idStringBank identifier.
fundingintCard usage
-1 = Unknown
0 = Credit Card
1 = Debit Card
2 = Prepaid Card
typeintCard type
-1 = Unknown
1 = VISA
2 = MasterCard
3 = JCB
4 = Union Pay
5 = AMEX
levelStringCard level
countryStringCountry of card issuer
country_codeStringCountry code of card issuer
is_rba_verified Boolean If this transaction got the risk score from RBA or not.RBA is able to evaluate the risk of each transaction to recognize and prevent the fraud. This product will be launched soon. Please refer to TapPay official website to know more about RBA.
transaction_method_details JSONObject Transaction method details.
RBA is able to evaluate the risk of each transaction to recognize and prevent the fraud. This product will be launched soon. Please refer to TapPay official website to know more about RBA.
NameTypeContent
transaction_methodStringTHREE_DOMAIN_SECURE: Means the transaction was sent to the bank with 3D secure.
FRICTIONLESS: Means the transaction was sent to the bank with frictionless.
transaction_method_referenceStringRBA: Means the transaction method was decided by RBA rule setting.
REQUEST: Means the transaction method was decided by the request specification that the merchant set in the payment request.
shipping_address JSONObject Shipping Address
Support: Atome
NameType(Max)Usage
country_codeString(2)Two digits country code using ISO-3611 format.
linesString(1000)Address lines
postcodeString(10)Post code
billing_address JSONObject Billing Address
Support: Atome
NameType(Max)Usage
country_codeString(2)Two digits country code using ISO-3611 format.
linesString(1000)Address lines
postcodeString(10)Post code

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

The JSONObject contains the trade history of each payment under a transaction.
You wull see these parameters under this JSONObject.

NameType(Max)Usage
amountintTransaction price.
actionintTransaction status
0 Authorize
1 Capture
3 Refund
4 Pending
5 Cancel
6 RefundCancel
millislongTrigger status time
bank_transaction_millislongThe practical time that TapPay send the transaction to bank to process authorization, capturing, refund and canceling refund the payment.
successbooleanWhether the status is successful
can_refund_cancel_millislongaction = 3,When can cancel the refund will return
refund_idStringWhen action = 3, 6 return,Refund action identifier generate by TapPay
bank_refund_order_numberStringThe refund order number that banks or e-wallets send back while refund.
Support: Easy Wallet, Atome, Pi Wallet, Plus Pay
Please refer to Reference for the length limitation of all supported banks and e-wallets.
bank_refund_idString(20)Self-defined refund record identifier. (Format : Half-shaped English number)
is_pendingBooleanIt will be true when the transaction is not refunded completed. In contrast, it will be false when the refund is done.
bank_result_codeString(40)Response code from the bank.
We will reply the actual bank result code in the authorization and payment capture history.
As for refund, we will show the bank result code of each refund transaction.
bank_result_msgString(300)Response message from the bank.
We will reply the actual bank result message in the authorization and payment capture history.
As for refund, we will show the bank result message of each refund transaction.

transaction_time_millis

What is it?

Time of transaction measured in milliseconds.
Please see https://currentmillis.com for more detail.

payByPrime
payByToken

tsp(filter)

What is it?

Name Type content
tsp Bool Default : false
true : Serch use TSP service transaction.

x-api-key

What is it?

An authentication key for each individual partner, also known as partner_key.
You must always put this in your header with the partner_key as the value when calling TapPay server API.
You can find it via Portal > Information

payByPrime
payByToken
partner_key
Refund
Record

samsung_pay_country_code

What is it?

Samsung Pay verify page country and language.

value Content
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 time

Bank The data block of the payment TapPay send to the bank The time TapPay send capture payments to the bank The time TapPay receive response from the bank The suggested time to inquire the capture result
CTBC BANK The transaction successfully authorized and is marked to be captured before 06:00 PM 06:00 PM immediately 08:00 PM
CTBC BANK (UnionPay) The transaction successfully authorized and is marked to be captured before 06:00 PM 06:00 PM immediately 08:00 PM
CTBC BANK (Batch) The transaction successfully authorized and is marked to be captured before 06:00 PM 06:00 PM 06:30 AM 08:30 AM
E.SUN BANK The transaction successfully authorized and is marked to be captured before 11:30 PM 11:30 PM 04:30 AM 06:30 AM
Taishin Bank The transaction successfully authorized and is marked to be captured before 09:00 PM 09:00 PM immediately 11:00 PM
Taipei Fubon Bank The transaction successfully authorized and is marked to be captured before 8:30 PM 08:30 PM 10:00 PM 00:00 AM
Cathay United Bank The transaction successfully authorized and is marked to be captured before 10:00 PM 10:00 PM immediately 00:00 AM
Bank SinoPac The transaction successfully authorized and is marked to be captured before 09:00 PM 09:00 PM 09:30 AM 11:30 AM
KGI BANK The transaction successfully authorized and is marked to be captured before 10:00 PM 10:00 PM 07:30 AM 09:30 AM
TAIWAN COOPERATIVE BANK The transaction successfully authorized and is marked to be captured before 10:30 PM 10:30 PM immediately 00:30 AM
First Bank The transaction successfully authorized and is marked to be captured before 10:30 PM 10:30 PM immediately 00:30 AM
CHANG HWA Bank The transaction successfully authorized and is marked to be captured before 10:30 PM 10:30 PM immediately 00:30 AM
UNION BANK OF TAIWAN The transaction successfully authorized and is marked to be captured before 10:00 PM 10:00 PM 05:30 AM 07:30 AM
National Credit Card Center of R.O.C. The transaction successfully authorized and is marked to be captured before 10:00 PM 10:00 PM 07:30 AM 09:30 AM
NewebPay The transaction successfully authorized and is marked to be captured before 06:00 PM 06:00 PM immediately 08:00 PM
SUNNY BANK The transaction successfully authorized and is marked to be captured before 10:30 PM 10:30 PM immediately 00:30 AM
BANK OF CHINA The transaction successfully authorized and is marked to be captured before 11:00 PM 11:00 PM immediately 01:00 AM
RAZER PAY The transaction successfully authorized and is marked to be captured before 09:00 PM 09:00 PM immediately 11:00 PM
Easy Wallet The transaction successfully authorized and is marked to be captured before 00:00 AM 01:30 AM 07:30 AM 09:30 AM
JKOPAY authorizing and capturing at the same time authorizing and capturing at the same time authorizing and capturing at the same time Can be inquired after authorized successfully
globalpayments The transaction successfully authorized and is marked to be captured before 00:00 AM 00:00 AM 01:00 PM 03:00 PM
LINE Pay The transaction successfully authorized and is marked to be captured before 10:00 PM 10:00 PM((Need to apply additionally to LINE Pay.)) immediately 00:00 AM
LINE Pay authorizing and capturing at the same time authorizing and capturing at the same time authorizing and capturing at the same time Can be inquired after authorized successfully
Atome authorizing and capturing at the same time authorizing and capturing at the same time authorizing and capturing at the same time Can be inquired after authorized successfully
Pi Wallet The transaction successfully authorized and is marked to be captured before 08:00 PM 08:00 PM immediately 10:00 PM
Pi Wallet authorizing and capturing at the same time authorizing and capturing at the same time authorizing and capturing at the same time Can be inquired after authorized successfully
Plus Pay authorizing and capturing at the same time authorizing and capturing at the same time authorizing and capturing at the same time Can be inquired after authorized successfully
Plus Pay The transaction successfully authorized and is marked to be captured before 08:00 PM 08:00 PM authorizing and capturing at the same time 10:00 PM

Each bank auth reversal time

Bank The data block of the payment TapPay send to the bank The time TapPay send auth reversal payments to the bank The time TapPay receive response from the bank The suggested time to inquire the auth reversal result
CTBC BANK TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
CTBC BANK (UnionPay) TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
CTBC BANK (Batch) TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
E.SUN BANK TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
Taishin Bank TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
Taipei Fubon Bank The transaction successfully authorized and is marked to be auth reversal before 08:30 PM 08:30 PM 10:00 PM 00:00 AM
Cathay United Bank TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
Bank SinoPac TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
KGI BANK TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
TAIWAN COOPERATIVE BANK TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
First Bank TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
CHANG HWA Bank TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
UNION BANK OF TAIWAN TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
National Credit Card Center of R.O.C. TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
NewebPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
SUNNY BANK TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
BANK OF CHINA TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
RAZER PAY TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
Easy Wallet The transaction successfully authorized and is marked to be auth reversal before 00:00 AM 01:30 AM 07:30 AM 09:30 AM
globalpayments TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
LINE Pay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
Atome TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
Pi Wallet TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
Plus Pay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result

Each bank refund time

Bank The data block of the payment TapPay send to the bank The time TapPay send refund payments to the bank The time TapPay receive response from the bank The suggested time to inquire the refund result
CTBC BANK TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
CTBC BANK (UnionPay) TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
CTBC BANK (Batch) The transaction successfully authorized and is marked to be refund before 06:00 PM 06:00 PM 06:30 AM 08:30 AM
E.SUN BANK The transaction successfully authorized and is marked to be refund before 11:30 PM 11:30 PM 04:30 AM 06:30
Taishin Bank TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
Taipei Fubon Bank The transaction successfully authorized and is marked to be refund before 08:30 PM 08:30 PM 22:00 PM 00:00 AM
Cathay United Bank TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
Bank SinoPac The transaction successfully authorized and is marked to be refund before 09:00 PM 09:00 PM 09:30 AM 11:30 AM
KGI BANK The transaction successfully authorized and is marked to be refund before 10:00 PM 10:00 PM 07:30 AM 09:30 AM
TAIWAN COOPERATIVE BANK The transaction successfully authorized and is marked to be refund before 10:30 PM 10:30 PM immediately 00:30 AM
First Bank The transaction successfully authorized and is marked to be refund before 10:30 PM 10:30 PM immediately 00:30 AM
CHANG HWA Bank The transaction successfully authorized and is marked to be refund before 10:30 PM 10:30 PM immediately 00:30 AM
UNION BANK OF TAIWAN The transaction successfully authorized and is marked to be refund before 10:00 PM 10:00 PM 05:30 AM 07:30 AM
National Credit Card Center of R.O.C. The transaction successfully authorized and is marked to be refund before 10:00 PM 10:00 PM 07:30 AM 09:30 AM
NewebPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
SUNNY BANK The transaction successfully authorized and is marked to be refund before 10:30 PM 10:30 PM immediately 00:30 AM
BANK OF CHINA TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
RAZER PAY TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
Easy Wallet The transaction successfully authorized and is marked to be refund before 00:00 AM 01:30 AM 07:30 AM 09:30 AM
globalpayments TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
LINE Pay The transaction successfully authorized and is marked to be refund before 11:00 PM 11:00 PM 01:00 PM 03:00 PM
Atome TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
Pi Wallet TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result
Plus Pay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay TapPay will call the bank’s refund API right after the merchant call the Refund API of TapPay immediately Refund API Response will be the result