Histórico de mensagens sobre card em cartões

EXIBINDO CONVERSAS RECENTES:

Texto: card
Canal: cartões
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Boa tarde, @rodrigoaes!
As opções válidas no atributo responsável pela bandeira são: 'visa', 'mastercard', 'amex', 'diners', 'elo' ou 'hipercard'.

Avatar discord do usuario rodrigoaes

rodrigoaes

Tenho mais uma dúvida sobre o mesmo assunto

Na documentação consta as bandeira aceitas https://dev.efipay.com.br/docs/api-cobrancas/cartao#confira-a-lista-de-cart%C3%B5es-de-cr%C3%A9dito-aceitos-pela-ef%C3%AD

Mas agora nao sei como vai vir cada uma

sei que Master: vira mastercard e Visa visa, então provavelmente também "elo" e "hipercard"

Mas como vira por exemplo Americam Express? "amex", "amaricanexpress", "americanExpress"??? Fiquei nessa duvida para implementar um ENUM e não sei exatamente como vira

Avatar discord do usuario leandroberg

leandroberg

Ver Respostas

Boa noite, tudo bem? Uma dúvida por gentileza, visto que o campo "billing_address" é obrigatório para as requisições à API de criação de cobrança via cartão de crédito, eu posso utilizar um endereço fixo para todas as requisições? Ou seja, utilizar o endereço da loja que está vendendo ao invés de utilizar o endereço do cliente? Pergunto isso pois estou desenvolvendo um app para restaurantes onde a compra será via app porém lá no local físico, algo como um cardápio digital, dai gostaria muito de deixar o checkout do app bem limpo pedindo o mínimo de campos possível para o cliente que desejar pagar via cartão de crédito.

Avatar discord do usuario igor_efi

igor_efi

Segue as bandeiras aceitas: 'visa', 'mastercard', 'amex', 'diners', 'elo' ou 'hipercard'.

Avatar discord do usuario adenilson2703

adenilson2703

Ver Respostas

const EfiJs = require('payment-token-efi');

try {
EfiJs.CreditCard
.setAccount('Identificador_de_conta_aqui')
.setEnvironment('sandbox') // 'production' or 'sandbox'
.setBrand('visa')
.setTotal(28990)
.getInstallments()
.then(installments => {
console.log('Parcelas', installments);
}).catch(err => {
console.log('Código: ', err.code);
console.log('Nome: ', err.error);
console.log('Mensagem: ', err.error_description);
});
} catch (error) {
console.log('Código: ', error.code);
console.log('Nome: ', error.error);
console.log('Mensagem: ', error.error_description);
}

Avatar discord do usuario adenilson2703

adenilson2703

Ver Respostas

não encontrei a exemplo de node.js da função efipay.CreditCard();

Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Boa tarde @joaovicto ! Nós temos um endpoint (POST /v1/charge/card/:id/refund) pra fazer o estorno de um pagamento via cartão de crédito. E você pode fazer a devolução através do painel da conta digital também.

Avatar discord do usuario aguiar.dev

aguiar.dev

Ver Respostas

Bom dia. Estou tendo problema em criar o getPaymentToken

txt
GET https://device.clearsale.com.br/p/fp.js net::ERR_BLOCKED_BY_CLIENT
Error: Falha na execução do FingerPrint
at p.getPaymentToken (payment-token-efi.min.js:1:71428)
js
try {
EfiJs.CreditCard
.setAccount('XXXX')
.setEnvironment('sandbox') // 'production' or 'sandbox'
.setCreditCardData({
brand: 'visa',
number: '4485785674290087',
cvv: '123',
expirationMonth: '05',
expirationYear: '2029',
reuse: false
})


.getPaymentToken()
.then(data => {
const payment_token = data.payment_token;
const card_mask = data.card_mask;

console.log('payment_token', payment_token);
console.log('card_mask', card_mask);
}).catch(err => {
console.log(err)
// console.log('Código: ', err.code);
// console.log('Nome: ', err.error);
// console.log('Mensagem: ', err.error_description);
});
} catch (error) {
console.log('Código CreditCard: ', error.code);
console.log('Nome CreditCard: ', error.error);
console.log('Mensagem CreditCard: ', error.error_description);
}

Avatar discord do usuario adenilson2703

adenilson2703

exports.paymentToken = async (req, res, next) => {
EfiJs.CreditCard.debugger(true);
try {
const result = await EfiJs.CreditCard
.setAccount('')
.setEnvironment('sandbox') // 'production' or 'sandbox'
.setCreditCardData({
brand: 'visa',
number: '4485785674290087',
cvv: '123',
expirationMonth: '05',
expirationYear: '2029',
reuse: false
}) .getPaymentToken();
console.log('result', result);
const payment_token = result.payment_token;
const card_mask = result.card_mask;
console.log('payment_token', payment_token);
console.log('card_mask', card_mask);
return res.send({
request: true,
success: true,
message: 'Pagamento cartão!',
payment_token:payment_token,
card_mask:card_mask
});

} catch (error) {
console.log('Código: ', error.code);
console.log('Nome: ', error.error);
console.log('Mensagem: ', error.error_description);
return res.send({
request: true,
success: false,
message: 'Pagamento cartão!',

});
}

Avatar discord do usuario carlossulzer

carlossulzer

Ver Respostas

Bom dia. Estou fazendo a integração através de uma API .net e ao efetuar os testes notei que o retorno da API EFIPay retorna objetos diferentes. Fiz uma implementação que acredito não ser a melhor opção mas funciona. Como vcs tratam isso? esses são os possíveis retornos:

==> Retorno 1
"{\"code\":3500034,\"error\":\"validation_error\",\"error_description\":{\"property\":\"/payment/credit_card/payment_token\",\"message\":\"Tipo inválido: number (esperado string).\"}}"

==> Retorno 2
"{\"code\":200,\"data\":{\"installments\":1,\"installment_value\":188000,\"charge_id\":44075256,\"status\":\"unpaid\",\"refusal\":{\"reason\":\"Dados do cartão inválidos.\",\"retry\":true},\"total\":188000,\"payment\":\"credit_card\"}}"


==> Retorno 3
"{\"code\":200,\"data\":{\"installments\":1,\"installment_value\":188000,\"charge_id\":44075296,\"status\":\"approved\",\"total\":188000,\"payment\":\"credit_card\"}}"


==> Retorno 4
"{\"code\":3500018,\"error\":\"already_used_payment_token\",\"error_description\":\"O [payment_token] fornecido já foi utilizado.\"}"

Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Boa tarde @erickyuri11 ! Nas novas versões, criamos exemplos pra cartão e pra boleto. O método utilizado é o mesmo, o que vai diferenciar é o body da requisição. No seu caso, se você olhar no seu arquivo createOneStepChargeCard, é chamado o métod createOneStepCharge. Então nas versões mais antigas, você tem o exemplo com nome createOneStepCharge, mas será preciso alterar o body. O exemplo provavelmente vai ser pra boleto, basta alterar o body pro exemplo de cartão.

Avatar discord do usuario erickyuri11

erickyuri11

Ver Respostas

ola, boa tarde o CreateOneStepCard so tem na versao 5.0 do net framework?

Avatar discord do usuario erickyuri11

erickyuri11

Ver Respostas

ola, boa tarde queria saber porque ta dando essa menssagem no createonestepcard '"error":"request_not_allowed","error_description":"Não foi possível finalizar sua solicitação. Por favor, entre em contato com o suporte Gerencianet.' ?

Avatar discord do usuario erickyuri11

erickyuri11

Ver Respostas

olá, bom dia queria saber porque no CreateOneStepCard aparece 'No momento a transação não foi autorizada'?