Histórico de mensagens sobre card em cartões

EXIBINDO CONVERSAS RECENTES:

Texto: card
Data: 08/10/2024
Canal: cartões
Avatar discord do usuario guilherme_efi

guilherme_efi

Bom dia, @jorginocria! Tudo bem?
O erro que você está enfrentando (Código: 18, Nome: undefined, Mensagem: undefined) ocorre porque a biblioteca EfiPay em JavaScript utiliza recursos do DOM, que o Flutter não consegue implementar sem alguns ajustes. No seu teste com o cartão expirado, você recebeu uma mensagem mais clara porque essa validação passa por um JavaScript que apenas verifica a sintaxe. Para gerar o token de pagamento, é necessário um JavaScript mais complexo que precisa do DOM.

Para corrigir isso, recomendo implementar um método que permita executar JavaScript no Flutter. Você pode encontrar um guia útil neste artigo: Como trabalhar com arquivos JavaScript no Flutter.

Segue também um exemplo de como você pode implementar a chamada para gerar o token de pagamento:

dart
void main() async {
dynamic credentials = {'account_id': ''};

EfiPay efi = EfiPay(credentials);

Map card = {
"brand": "visa",
"number": "4485388557842265",
"cvv": "123",
"expiration_month": "08",
"expiration_year": "2025"
};

dynamic response = await paymentToken(efi, card);
print(response);
}

dynamic paymentToken(EfiPay efi, Map card) async {
dynamic paymentToken = await efi.call("paymentToken", body: card);
}