O FaciPayCallback entrega o resultado do pagamento.
object : FaciPayCallback {
override fun onApprove(result: PaymentResult) {
// Pagamento confirmado
navigateToSuccess(result.orderId)
}
override fun onPending(result: PaymentResult) {
// Referência gerada — mostrar instruções de pagamento
showReference(result.data)
}
override fun onCancel() {
// Utilizador fechou o checkout
}
override fun onError(error: FaciPayException) {
showError(error.code, error.message)
}
}
Para Java ou para implementar só alguns métodos, usa FaciPayCallbackAdapter (todos os
métodos têm implementação vazia por defeito).
PaymentResult
Identificador da transação.
CREATED | PENDING | CANCELLED | CONFIRMED.
DIRECT | MCX | REFERENCE.
JSON cru com campos adicionais; data expõe-o como Map.
Propriedades auxiliares: isConfirmed, isPending, isCancelled.
Códigos de erro (FaciPayException)
CODE_INVALID_KEY CODE_PAYMENT_FAILED
CODE_KEY_VALIDATION_FAILED CODE_PAYMENT_CANCELLED
CODE_NETWORK_ERROR CODE_INVALID_REQUEST
CODE_TIMEOUT CODE_POPUP_BLOCKED
CODE_SDK_NOT_INITIALIZED
Tal como na web, o webhook no teu backend é a fonte da verdade do estado do pagamento.
Os callbacks servem a experiência do utilizador; confirma o pagamento pelo webhook antes do
fulfillment. Ver Webhooks.