Author Image

rafa110688

Jan 11, 2025

Erro 18 no getPayment usando WebView

getPaymentError 18WebviewdebugpagamentoToken

certo amigo! compreendo a situação, um pouco decepcionado mas compreendo.

Comecei alguns testes utilizando webview, e o método getPayment está retornando apenas Error 18, sem mais nenhum detalhe, mesmo com o debugget ativo. Sabe me dizer oque é isso?

Respostas (3):
Avatar discord do usuario igor_efi

igor_efi

12/01/2025

Esta falha aparece em qual etapa, é mencionado?

Avatar discord do usuario rafa110688

rafa110688

12/01/2025

async function generatePaymentToken(cardData) {
try {
const result = await EfiPay.CreditCard
.setAccount("accountId")
.setEnvironment("sandbox")
.setCreditCardData({
brand: card.brand,
number: card.number,
cvv: card.cvv,
expirationMonth: card.expirationMonth,
expirationYear: card.expirationYear,
holderName: card.holderName,
holderDocument: card.holderDocument,
reuse: false,
})
.getPaymentToken();

const payment_token = result.payment_token;
const card_mask = result.card_mask;

window.ReactNativeWebView.postMessage(JSON.stringify({
payment_token,
card_mask,
}));
} catch (error) {
window.ReactNativeWebView.postMessage(JSON.stringify(error));
}
}

aqui amigo, se eu usar dados invalidos para teste o erro retornado é correto (exemplo: se eu colocar um número de cartão inválido ele retorna invalid_card). Porém ao informar todos os dados corretos o erro retornado é esse {error: 18}. Mesmo com o debugger ativo

Avatar discord do usuario igor_efi

igor_efi

12/01/2025

@rafa110688, certifique-se de que o WebView tem acesso à internet e que o host da API não está bloqueado, fazendo favor.
Coloque o trecho abaixo dentro do catch para verificarmos se o erro possui mais detalhes:

console.error('Erro ao gerar token:', error);
window.ReactNativeWebView.postMessage(JSON.stringify({
error: error.message || error,
stack: error.stack || null,
}));