TapOnPhone::payByPix
.pixNfc
é opcional, por padrão é true
.true
, o QR Code será enviado à antena NFC do dispositivo para leitura pela carteira digital.É necessário passar os parâmetros conforme a seguir:
data class PixRequest(
val amount: Long,
val referenceId: String? = null,
val metadata: String? = null,
val pixNfc: Boolean = true
)
amount
-> Valor em centavos. Ex: 100 = R$ 1,00referenceId
-> Seu identificador para transaçãometadata
-> String arbitrária formato json, enviado junto à transação (limitada a 512 caracteres)pixNfc
-> Se true
, o QR Code será enviado à antena NFC do dispositivo para leitura pela carteira digital
Para cancelar a operação, basta chamar tapOnphone.cancelPix()
.
Ao cancelar, o callback onError
será chamado com a exceção ZoopRequestCanceledException
.
val tapOnPhone = TapOnPhone()
// Depois de inicializado com sucesso
coroutineScope.launch {
tapOnPhone.payByPix(
pixRequest = PixRequest(
amount = 10000, // R$ 10,00
referenceId = UUID.randomUUID().toString(), // Seu id para transação
metadata = """
{
"clientId": "1234",
"name": "John Doe"
}
""",
),
onApproved = { result ->
println("Pagamento Aprovado! Id: ${result.transactionId}")
},
onError = { error ->
println("Pagamento negado - id: ${error.transactionId}")
println("Mensagem: ${error.message}")
error.exception?.printStackTrace()
},
onQrCode = { qrCode ->
// Aqui, vc desenha o QRCode na tela do seu app
println("QR Code: $qrCode")
}
)
}
PixApprovedResponse
data class PixApprovedResponse(
val transactionId: String, // Id da transação na Zoop
val referenceId: String, // Seu id para transação, se fornecido no request
)
PixErrorResponse
data class PixErrorResponse(
val transactionId: String?, // Id da transação na Zoop se disponível, caso a falha tenha ocorrido antes de ser enviado para Zoop, será `null`
val referenceId: String?, // Seu id para transação, se fornecido no request
val message: String // mensagem de erro para o usuário,
val exception: ZoopException? // exceção lançada pela Zoop, se disponível
)
/**
* Tipo de exceção lançada pela Zoop
* ZoopPaymentException -> Falha geral no processo da criação ou confirmação da transação
* ZoopRequestCanceledException -> Requisição cancelada pelo usuário
* ZoopException -> Exceção não mapeada pelo fluxo transacional
*/