Pular para o conteúdo principal
Versão: 4.1.x

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.

aviso

O campo amount deve ser um BigDecimal representando o valor em centavos.

Exemplo com cartão de crédito

TransactionActivity.kt
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>")

val style = ProviderStyle(
primary = Color(0xFF6200EE).toArgb(),
background = Color(0xFFF5F5F5).toArgb(),
onBackground = Color(0xFF1C1B1F).toArgb(),
cancelButton = Color(0xFFB00020).toArgb(),
onCancelButton = Color(0xFFFFFFFF).toArgb(),
surface = Color(0xFFFFFFFF).toArgb(),
actionButton = Color(0xFF03DAC6).toArgb(),
onActionButton = Color(0xFF000000).toArgb(),
error = Color(0xFFCF6679).toArgb(),
onError = Color(0xFF000000).toArgb(),
success = Color(0xFF4CAF50).toArgb(),
) // Não é obrigatório

val commonParams = CommonParams(
finishScreenTimeoutSeconds = 5,
autoPrintReceipts = false
) // não é obrigatório

//...

fun doPayment() {
lifecycleScope.launch {
val transactionResponse = paymentProvider.startTransaction(this@MainActivity, transactionParams, authParams, style, commonParams)
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, precisa ser passado o parâmetro installmentType = InstallmentType.ONE_TIME e o parâmetro installmentNumber = 1. Ou apenas não passe nada neles e será utilizado os parâmetros corretos automaticamente.

TransactionActivity.kt
class TransactionActivity() : ComponentActivity {
val transactionParams = TransactionParams(
amount = BigDecimal("1200"), // R$ 12,00
paymentType = PaymentType.PIX,
installmentType = InstallmentType.ONE_TIME, // Precisa ser ONE_TIME
installmentNumber = 1 // PRECISA SER 1
)

val authParams = AuthParams(token = "<Insira_seu_token>")

val style = ProviderStyle(
primary = Color(0xFF6200EE).toArgb(),
background = Color(0xFFF5F5F5).toArgb(),
onBackground = Color(0xFF1C1B1F).toArgb(),
cancelButton = Color(0xFFB00020).toArgb(),
onCancelButton = Color(0xFFFFFFFF).toArgb(),
surface = Color(0xFFFFFFFF).toArgb(),
actionButton = Color(0xFF03DAC6).toArgb(),
onActionButton = Color(0xFF000000).toArgb(),
error = Color(0xFFCF6679).toArgb(),
onError = Color(0xFF000000).toArgb(),
success = Color(0xFF4CAF50).toArgb(),
) // não é obrigatório

val commonParams = CommonParams(
finishScreenTimeoutSeconds = 5,
allowRefundCancellation = false,
autoPrintReceipts = false
) // não é obrigatório

//...

fun doPayment() {
lifecycleScope.launch {
val transactionResponse = paymentProvider.startTransaction(this@MainActivity, transactionParams, authParams, style, commonParams)
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}")
}
}
}
}