Transações
Para iniciar uma transação utilize o método startTransaction(), passando os parâmetros da transação, os parâmetros de autenticação e o
contexto que a iniciou.
O campo amount deve ser um BigDecimal representando o valor em centavos.
Leia o TransactionParams para maiores detalhes sobre os parâmetros de transação.
Exemplo com cartão de crédito
class TransactionActivity() : ComponentActivity {
val transactionParams = TransactionParams(
amount = BigDecimal("1200"), // R$ 12,00
paymentType = PaymentType.CREDIT,
installmentType = InstallmentType.INSTALLMENT_BUYER,
installmentNumber = 2
)
val authParams = AuthParams(token = "<Insira_seu_token>")
//...
fun doPayment() {
lifecycleScope.launch {
val transactionResponse = paymentProvider.startTransaction(this@MainActivity, transactionParams, authParams)
if (transactionResponse.status == OperationStatus.SUCCESS) {
Log.d("Transação", "Transação realizada com sucesso!")
Log.d("Transação", "Comprovante: ${transactionResponse.customerReceipt}!")
} else {
Log.e("Transação", "Erro: ${transactionResponse.status} - ${transactionResponse.message}")
}
}
}
}
Exemplo com PIX
Em transações PIX, os parâmetros
installmentTypeeinstallmentNumberprecisam obrigatoriamente terem os valoresInstallmentType.ONE_TIMEe1respectivamente. Como estes são os valores padrão, também é possível não informá-los.
class TransactionActivity() : ComponentActivity {
val transactionParams = TransactionParams(
amount = BigDecimal("1200"), // R$ 12,00
paymentType = PaymentType.PIX,
// installmentType = InstallmentType.ONE_TIME, // Obrigatoriamente ser ONE_TIME p/ PIX
// installmentNumber = 1 // Obrigatoriamente 1 p/ PIX
)
val authParams = AuthParams(token = "<Insira_seu_token>")
//...
fun doPayment() {
lifecycleScope.launch {
val transactionResponse = paymentProvider.startTransaction(this@MainActivity, transactionParams, authParams)
if (transactionResponse.status == OperationStatus.SUCCESS) {
Log.d("Transação", "Transação realizada com sucesso!")
Log.d("Transação", "Comprovante: ${transactionResponse.customerReceipt}!")
} else {
Log.e("Transação", "Erro: ${transactionResponse.status} - ${transactionResponse.message}")
}
}
}
}
QRCode
Durante a transação PIX, o QRCode para pagamento será mostrado tanto no PDV quanto na tela do PinPad. Quando o usuário realizar o pagamento do QRcode, é necessário clicar no botão "confirmar pagamento". Caso ele deseje cancelar, clique em "cancelar".