Pagamento Pix
Realize pagamentos Pix via QR Code ou NFC com o SDK TapOnPhone da Zoop.
Realize pagamentos Pix através do SDK TapOnPhone, com suporte a leitura de QR Code e aproximação NFC via carteira digital.
Visão geral
O método TapOnPhone::payByPix permite realizar pagamentos com Pix de duas formas:
QR Code gerado durante o processamento da transação para leitura pelo pagador.
Envio do QR Code à antena NFC do dispositivo para pagamento via carteira digital.
O dispositivo precisa estar inicializado na Zoop. Caso ainda não esteja, o SDK executa a inicialização automaticamente antes do primeiro pagamento — esse processo pode levar alguns segundos.
Parâmetros
Passe um objeto PixRequest com os seguintes campos:
data class PixRequest(
val amount: Long,
val referenceId: String? = null,
val metadata: String? = null,
val pixNfc: Boolean = true
)| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
amount | Long | ✅ | Valor em centavos. Ex: 10000 = R$ 100,00 |
referenceId | String? | ❌ | Seu identificador para a transação |
metadata | String? | ❌ | String em formato JSON enviada junto à transação (limite de 512 caracteres) |
pixNfc | Boolean | ❌ | Se true (padrão), o QR Code é enviado à antena NFC do dispositivo para leitura pela carteira digital |
Exemplo de pagamento
val tapOnPhone = TapOnPhone()
// Depois de inicializado com sucesso
coroutineScope.launch {
tapOnPhone.payByPix(
pixRequest = PixRequest(
amount = 10000, // R$ 100,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 ->
// Desenhe o QR Code na tela do seu app
println("QR Code: $qrCode")
},
onEvent = { applicationEvent ->
// Eventos informando as etapas do fluxo
}
)
}Para cancelar a operação, chame
tapOnphone.cancelPix(). O callbackonErrorserá acionado com a exceçãoZoopRequestCanceledException.
Respostas
data class PixApprovedResponse(
val transactionId: String, // Id da transação na Zoop
val referenceId: String, // Seu id para transação, se fornecido no request
)| Campo | Tipo | Descrição |
|---|---|---|
transactionId | String | Identificador da transação na Zoop |
referenceId | String | Seu identificador para a transação (se fornecido) |
Eventos
O callback onEvent recebe objetos do tipo ApplicationEvent, informando cada etapa do fluxo de pagamento.
| Evento | Descrição |
|---|---|
StartZoopActivation | Iniciada a ativação do dispositivo na Zoop. Ocorre apenas quando o dispositivo ainda não está ativado. |
CompleteZoopActivation | Ativação do dispositivo concluída. |
PixTransactionStarted | Fluxo de pagamento com Pix iniciado. |
ProcessingPixTransaction | Processando pagamento com Pix. |
PixTransactionCompleted | Pagamento com Pix concluído. |
Updated 2 days ago
