Pagamento
Nesse passo, você irá realizar o seu primeiro pagamento.
Requisição
Vamos aprender a criar uma requisição simples de pagamento no crédito de R$ 1,00
Aprenda a criar outros tipos de requisições de pagamento
let request = PaymentRequest(
amount = 100,
paymentType = .credit,
installments = 1
)
Iniciar Pagamento
Agora é hora de enviar a requisição
Veja tudo sobre os callbacks disponíveis
TapOnPhone.pay(
payRequest = request,
onSuccess = { response ->
// sucesso
},
onError = { error ->
// erro
},
onEvent = { event ->
// evento recebido (etapa do pagamento)
}
)
Exemplo Completo
import SwiftUI
import TapOnPhoneSDK
struct PaymentView: View {
@State private var showSuccess = false
@State private var showError = false
@State private var errorMessage = ""
var body: some View {
VStack(spacing: 20) {
Button("Realizar Pagamento") {
let amount = 100
let paymentType: TapOnPhonePaymentType = .credit
let installments = 1
TapOnPhone.pay(
payRequest: PayRequest(
amount: amount,
paymentType: paymentType,
installments: installments
)
) { response in
// Sucesso
showSuccess = true
} onError: { error in
// Erro
if error.type == .payment, let paymentError = error.error as? PaymentErrorResponse {
errorMessage = "Erro de pagamento: \(paymentError.message)"
} else if let generalError = error.error as? TapOnPhoneError {
errorMessage = "Erro: \(generalError.message)"
} else {
errorMessage = "Erro desconhecido"
}
showError = true
} onEvent: { event in
// Eventos do SDK (opcional)
print("Evento recebido: \(event)")
}
}
}
.alert("Pagamento realizado com sucesso!", isPresented: $showSuccess) {
Button("OK", role: .cancel) { }
}
.alert("Erro", isPresented: $showError) {
Button("OK", role: .cancel) { }
} message: {
Text(errorMessage)
}
}
}