VNPay Tokenization

TerraCore v0

VNPay Tokenization#

1. GetVNPayTokens#

A method to return all saved tokens, the client can use one of them to make a payment

val request = GetVNPayTokensBuilder().apply {
terminalCode = "terminal code"
merchantCode = "merchant code"
}
// perform request
val result = paymentGateway.getVNPayTokens(request)
// Handle the result
if (result.isSuccess()) {
// TODO: succeeded case
val methods = result.get().methods
} else {
// TODO: failed case
}

2. AddVNPayToken#

A card can be added to the saved token list and used to make a future payment

val request = AddVNPayTokenBuilder().apply {
setCardType(CardType.DOMESTIC|CardType.INTERNATIONAL)
}
// perform request
val result = paymentGateway.addVNPayToken(request)
// Handle the result
if (result.isSuccess()) {
// TODO: succeeded case
} else {
// TODO: failed case
}

New token result can be observe via

paymentGateway.observeNewTokenResult(referCode)

3. RemoveVNPayToken#

A token can be removed from saved token list and cannot be used to make a payment

val request = RemoveVNPayTokenBuilder().apply {
setToken(cardItem.token)
setMerchantMethodCode(cardItem.merchantMethodCode)
}
// perform request
val result = paymentGateway.removeVNPayToken(request)
// Handle the result
if (result.isSuccess()) {
// TODO: succeeded case
} else {
// TODO: failed case
}

References#