Histórico de mensagens sobre payment_token

EXIBINDO CONVERSAS RECENTES:

Texto: payment_token
# dúvidas
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Ao gerar o payment token em nossa API, é possível adicionar o atributo reuse, ao adicionar este atributo você vai conseguir usar o payment token em outras compras.

# cartões
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Bom dia @jamersonbernardo, tudo bem?

Você pode utilizar o seguinte exemplo para gerar o payment token com React.

Exemplo alternativo para gerar payment_token react:

js
"use client"
import { useEffect, useState } from 'react';

const App = () => {
const [message, setMessage] = useState('Hello React!');

useEffect(() => {
const script = document.createElement('script');
script.type = 'module';
script.src = 'https://cdn.jsdelivr.net/gh/efipay/js-payment-token-efi/dist/payment-token-efi.min.js';
script.onload = runEfiJsCode;
document.head.appendChild(script);
}, []);

const runEfiJsCode = async () => {
try {
EfiJs.CreditCard
.debugger(false)
.setAccount('')
.setEnvironment('') // 'production' or 'sandbox'
.setCreditCardData({
brand: '',
number: '',
cvv: '',
expirationMonth: '05',
expirationYear: '2029',
reuse: false
})
.getPaymentToken()
.then(data => {
const payment_token = data.payment_token;
const card_mask = data.card_mask;

setMessage(Payment_token: ${payment_token} | Card_mask: ${card_mask})
console.log('payment_token', payment_token);
console.log('card_mask', card_mask);
})
.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);
}
};

return (

{message}

);
};

export default function Home() {
return (



);
}

# assinaturas
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Isso, nesse script que gera o payment_token no frontend tem a definição do ambiente 'production' ou 'sandbox'. O ambiente deve ser o mesmo que o do backend.

# assinaturas
Avatar discord do usuario antoniofernandes

antoniofernandes

Ver Respostas

O payment_token está sendo gerado via frontend via javascript conforme a documentacao

js
window.getPaymentToken(
{
brand: data.brand,
number: data.cardNumber,
cvv: data.cvv,
expiration_month: data.month,
expiration_year: data.year,
},
checkPayment,
);
Vale ressaltar que o mesmo está retornando certinho.

conforme ja informei, o erro informa que
js
{
"code": 3500010,
"error": "property_does_not_exists",
"error_description": {
"property": "payment_token",
"message": "A propriedade [payment_token] informada não existe."
}
}
ou seja como se a propriedade payment_token nao fizesse parte do objeto de configuração....

# assinaturas
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Ok, Antonio. Qual método você está utilizando para gerar o payment_token?

# assinaturas
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @antoniofernandes. Tudo bom e com você? 😃
Agora que você retomou, alterou para ambiente de produção?
Verifique se no script que gera o payment_token está "voltado" para o ambiente que está usando para criar a cobrança. Pode ser essa diferença que faz o payment_token não ser encontrado.

# assinaturas
Avatar discord do usuario antoniofernandes

antoniofernandes

@guilherme_efi Bom ia amigo. Tinha feito uma integração (Testada em sandbox) que estava funcionando e ja validado certinho meu fluxo. Agora voltei a testar e estou recebendo um erro:
Minha integração de assinatura tem mais ou menos o seguinte código:

js


const bodySubscriptionSignature = {
items: [
{
name: Assinatura: ${plan.title},
value: parseInt(convertPriceGateway(plan.price)),
amount: 1,
},
],
metadata: {
custom_id: ${companyId} - ${Date.now()},
notification_url: process.env.GN_NOTIFICATION_URL,
},
};

const paramsSignature = {
id: plan.planId,
};

const signature = await this.gn.createSubscription(
paramsSignature,
bodySubscriptionSignature,
);

const paramsPayment = {
id: signature.subscription_id,
};

const bodyPayment = {
payment: {
credit_card: {
payment_token: paymentToken,
billing_address: {
street: user.company.address.street,
number: user.company.address.streetNumber,
neighborhood: user.company.address.district,
zipcode: cep,
city: user.company.address.city,
state: user.company.address.state,
},
customer: {
name: ${user.firstName} ${user.lastName},
email: user.email,
cpf: cpf,
birth: birthDate,
phone_number: phone,
},
},
},
};

const associatePayment = await this.gn.paySubscription(
paramsPayment,
bodyPayment,
);

return { associatePayment };



E estou recebendo o seguinte erro:
js
{
"code": 3500010,
"error": "property_does_not_exists",
"error_description": {
"property": "payment_token",
"message": "A propriedade [payment_token] informada não existe."
}
}
Mudou alguma coisa?

# devs
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Boa tarde, @cwichoski. Tudo bem?
Este código que mencionou refere-se a nossa biblioteca jQuery para gerar o payment_token do cartão de crédito. E para carregá-la tem mesmo essa diferença de URL.
Para corrigir vai precisar mesmo informar o identificador_conta talvez de uma variável.

Caso não saiba, segue um print de onde você encontra este identificador na conta Efí, no menu API.
imagem enviada na mensagem pelo usuario guilherme_efi

# assinaturas
Avatar discord do usuario clovisdaniel

clovisdaniel

Obs: o payment token foi gerado com cartão de crédito fake tb

# assinaturas
Avatar discord do usuario clovisdaniel

clovisdaniel

Gente, tudo bom. Tava brincando com a API de vocês. Tentando fazer uma assinatura usando cartão de crédito. E aí eu mandei o seguinte payload

{
"items": [
{
"name": "Meu Produto",
"value": 24990,
"amount": 1
}
],
"payment": {
"credit_card": {
"customer": {
"name": "Gorbadoc Oldbuck",
"cpf": "94271564656",
"email": "[email protected]",
"birth": "1990-08-29",
"phone_number": "5144916523"
},
"payment_token": "3472999817ccf2846841820350543d02ffa75fd7",
"billing_address": {
"street": "Avenida Juscelino Kubitschek",
"number": "909",
"neighborhood": "Bauxita",
"zipcode": "35400000",
"city": "Ouro Preto",
"complement": "",
"state": "MG"
}
}
}
}
Mas a mensagem de erro retornada foi a seguinte:
{
"code": 3500072,
"error": "request_not_allowed",
"error_description": "Não foi possível finalizar sua solicitação. Por favor, entre em contato com o suporte Gerencianet."
}

# cartões
Avatar discord do usuario _fernandoferreira

_fernandoferreira

@jessica_efi eu uso PHP + o javascript que está no SDK da api, o payment_token o hash gerado antes de enviar os dados, e não recebo nenhum erro de payment token.

# cartões
Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

@_alexandrehenrique e @_fernandoferreira qual método que vocês estão utilizando para gerar o payment_token?

# cartões
Avatar discord do usuario kelvynreis

kelvynreis

Ver Respostas

boa tarde estou com problema para gerar o payment_token, está aparecendo este erro abaixo mas a dependência jsdom já está instalada.

Error: Biblioteca "jsdom" não está instalada. Execute npm i jsdom ou yarn add jsdom
at p6.getPaymentToken (payment-token-efi.js:1:71499)
CreditForm.tsx:78 Código: 500
CreditForm.tsx:79 Nome: library_error
CreditForm.tsx:80 Mensagem: Biblioteca "jsdom" não está instalada. Execute npm i jsdom ou yarn add jsdom

Estou usando RemixJs no front.

# cartões
Avatar discord do usuario yasmin_efi

yasmin_efi

Ver Respostas

Boa tarde @bgeneto! É sim, pode ser que seja algo na criptografia/geração do payment_token

# devs
Avatar discord do usuario alicesouzx

alicesouzx

Ver Respostas

oi tudo bem? vcs podem me ajudar com a implementação da API no react? estou tendo um problema para pegar o payment token

# cartões
Avatar discord do usuario ebermheads

ebermheads

fiz assim e deu bom
import EfiJs from 'payment-token-efi';

# cartões
Avatar discord do usuario ebermheads

ebermheads

'payment-token-efi suporta modulos ES6 ?

# cartões
Avatar discord do usuario israel_jorge

israel_jorge

Ver Respostas

boa tarde estou com problema para gerar o payment_token, está aparecendo este erro abaixo mas a dependência jsdom já está instalada.

Error: Biblioteca "jsdom" não está instalada. Execute npm i jsdom ou yarn add jsdom
at p6.getPaymentToken (payment-token-efi.js:1:71499)
CreditForm.tsx:78 Código: 500
CreditForm.tsx:79 Nome: library_error
CreditForm.tsx:80 Mensagem: Biblioteca "jsdom" não está instalada. Execute npm i jsdom ou yarn add jsdom

Estou utilizando Remix, alguém sabe como resolver este problema ??

# devs
Avatar discord do usuario francis.seu.dev

francis.seu.dev

Ver Respostas

a forma de gerar o payment token com a lib Android esta disponivel na documentacao?

# devs
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Bom dia, @francis.seu.dev! Tudo bem?
Com a SDK para Android você consegue gerar o payment token e envia-lo para que o seu back-end realize a emissão da cobrança.