Histórico de mensagens

EXIBINDO CONVERSAS RECENTES:

Data: 03/03/2025
# devs
Avatar discord do usuario palloma_efi

palloma_efi

Ver Respostas

Vou iniciar um atendimento privado para pegar alguns detalhes com você.

# devs
Avatar discord do usuario znuuxx

znuuxx

Ver Respostas

Sim, estou em homologação

# devs
Avatar discord do usuario znuuxx

znuuxx

Ver Respostas

Não gerei pelo 4dev... apenas passei um número aleatório como "4000000000000002"... conforme a instrução acima que deu entender que somente o final do cartão importa...

# devs
Avatar discord do usuario palloma_efi

palloma_efi

Está em ambiente de homologação?

# devs
Avatar discord do usuario palloma_efi

palloma_efi

Ver Respostas

Você gerou o cartão pelo 4devs ?

# devs
Avatar discord do usuario znuuxx

znuuxx

Ver Respostas

O único que funcionou pra mim foi esse que peguei numa thread no github:


Mas o cartão final diferente de 2 da erro...

# devs
Avatar discord do usuario znuuxx

znuuxx

Tentei esse da documentação:


Mas deu erro:
EfiJs não está carregado. Verifique o script no index.html.

# devs
Avatar discord do usuario palloma_efi

palloma_efi

Ver Respostas

A versão mais recente é a 3.1.1

# devs
Avatar discord do usuario znuuxx

znuuxx

Ver Respostas

@palloma_efi , consegue me ajudar?

Eu testei uma chamada com o cartão 4000 0000 0000 0002 e retornou "Pagamento não autorizado." -> Funcionando

Quando testei com o mesmo cartão só que final 1, 3 ou 4, gerou o erro: no payment-token-efi.min.js.

Erro ao gerar token do cartão: Error: número do cartão de crédito não é válido
at Proxy.value (payment-token-efi.min.js:1:91205)
at Proxy. (payment-token-efi.min.js:1:89060)
at f (payment-token-efi.min.js:1:2926)
at Generator. (payment-token-efi.min.js:1:4272)
at Generator.throw (payment-token-efi.min.js:1:3355)
at t (payment-token-efi.min.js:1:271)
at u (payment-token-efi.min.js:1:510)
at _ZoneDelegate.invoke (zone.js:368:26)
at Object.onInvoke (core.mjs:11083:33)
at _ZoneDelegate.invoke (zone.js:367:52)

Sabe me dizer qual a versão mais recente do cdn para o frontend?

# devs
Avatar discord do usuario znuuxx

znuuxx

Aaah, legal. Obrigado

# devs
Avatar discord do usuario palloma_efi

palloma_efi

Olá @znuuxx ! A simulação de cobranças de cartão em ambiente de Homologação funciona com base na análise imediata de acordo com o último dígito do número do cartão de crédito utilizado:

- Cartão com final 1 retorna: "reason":"Dados do cartão inválidos."
- Cartão com final 2 retorna: "reason":"Transação não autorizada por motivos de segurança."
- Cartão com final 3 retorna: "reason":"Transação não autorizada, tente novamente mais tarde."
- Demais finais têm transação aprovada.

# devs
Avatar discord do usuario znuuxx

znuuxx

@jessica_efi

# devs
Avatar discord do usuario znuuxx

znuuxx

Acho que consegui resolver...
Mas tive que criar um lógica para ignorar todos os certificados.
Não sei onde é o problema... de repente no meu provedor.
Enfim, agora esta retornando 200, porém com a mensagem "Pagamento não autorizado por motivos de segurança".
Tem algum padrão de cartão que eu precise usar para validar o pagamento sucedido?

# devs
Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

@znuuxx onde você encontrou esse exemplo? Em cobranças do tipo cartão de crédito, as informações do cartão não são enviadas dessa forma.

# devs
Avatar discord do usuario znuuxx

znuuxx

Coloquei pra ignorar o certificado e retorna assim:

Erro ao processar pagamento: undefined

# devs
Avatar discord do usuario znuuxx

znuuxx

Ver Respostas

@jessica_efi , eu vi o curso, segui o passo a passo, modifiquei para pagamento com cartão e quando tento rodar o teste da erro de certificado:

Erro ao processar pagamento: self-signed cer
tificate in certificate chain

const EfiPay = require('sdk-node-apis-efi')

const options = {
clientId: process.env.EFI_CLIENT_SECRET,
clientSecret: process.env.EFI_CLIENT_ID,
sandbox: true,
};

const efi = new EfiPay(options);

async function createCreditCardPayment() {
const body = {
payment: {
credit_card: {
customer: {
name: 'João Silva',
cpf: '94271564656',
birth: '1990-01-01',
phone_number: '5144916523'
},
billing_address: {
street: 'Rua Júpter',
number: '174',
neighborhood: 'Bauxita',
zipcode: '35400000',
city: 'Ouro Preto',
state: 'MG'
},
card: {
number: '4012001038443335',
cvv: '123',
expiration_month: '12',
expiration_year: '2028',
brand: 'visa'
}
}
},
items: [
{
name: 'Produto Teste',
value: 1000,
amount: 1
}
],
shippings: [
{
name: 'Frete Padrão',
value: 100
}
]
};

try {
const response = await efi.createOneStepCharge([], body);
console.log('Resposta da API:', response);
} catch (error) {
console.error('Erro ao processar pagamento:', error.message);
}
}

createCreditCardPayment();

# devs
Avatar discord do usuario jessica_efi

jessica_efi

Dê uma olhadinha, pois a ideia é a mesma. Todas as nossas sdks seguem o mesmo padrão

# devs
Avatar discord do usuario jessica_efi

jessica_efi

Em nosso curso, tem um modulo mostrando como gera um boleto utilizando a sdk de php.

# devs
Avatar discord do usuario jessica_efi

jessica_efi

Faz o teste novamente com a sdk