Histórico de mensagens sobre payment_token em assinaturas

EXIBINDO CONVERSAS RECENTES:

Texto: payment_token
Canal: assinaturas
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Você pode gerar o payment_token com os dados do cartão do cliente, usando a propriedade reuse: true. Assim, após 1 ano, sua aplicação pode automaticamente reutilizar o payment_token para gerar uma nova cobrança.

Avatar discord do usuario joaovicto

joaovicto

Ver Respostas

olá boa tarde, estava fazendo alguns testes(tudo só homologação para conhecer mais a api) criei um plano no endpoint /v1/plan

e tentei fazer a assinatura em /v1/plan/11707/subscription/one-step
onde 11707 é o id do plano

para obter o payment_token fui no playground da minha aplicação em homologação (/v1/charge/:id/pay)

e apenas cliquei em gerar payment token e surgiu o seguinte erro
{
"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."
}

alguém tem alguma ideia do que pode ser ? estou testando tudo em homologação
imagem enviada na mensagem pelo usuario joaovicto

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Existe um script para você gerar o payment token, você chegou a dar uma olhadinha? Segue o link dele em nossa documentação: https://dev.efipay.com.br/docs/api-cobrancas/cartao#biblioteca-javascript
Segue abaixo também o fluxograma para geração de assinaturas, caso tenha ficado com alguma duvida:
imagem enviada na mensagem pelo usuario igor_efi

Avatar discord do usuario igorpnh

igorpnh

Ver Respostas

Minha dúvida é a seguinte:

eu criei meus planos de assinatura, para vincular um cliente a esse plano eu preciso passar as informações do cliente e também as informações de pagamento (no caso cartão de crédito) através de um payment_token. Esse token eu consigo gerar ele como? Criando uma cobrança via cartão?

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Assim você poderá cancelar a primeira assinatura, e emitir uma nova utilizando o mesmo payment_token.

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Lembrando que esse payment_token só será valido para a conta que emitiu ele.

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Quando você gerar o payment_token para a emissão da primeira cobrança você pode gerar com o atributo reuse = true, assim o payment_token continuará valido.

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.

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....

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

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

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.

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?

Avatar discord do usuario clovisdaniel

clovisdaniel

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

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."
}

Avatar discord do usuario giovanicassiano.

giovanicassiano.

Ver Respostas

mas o meu está como 5 no final

{
brand: 'visa', // bandeira do cartão
number: '4012001038443335', // número do cartão
cvv: '123', // código de segurança
expiration_month: '05', // mês de vencimento
expiration_year: '2021', // ano de vencimento
reuse: false // tokenização/reutilização do payment_token
}

Avatar discord do usuario jessica_efi

jessica_efi

Boa tarde @sergiomsa ! Por enquanto ainda não esta funcionando porque o Flutter web renderiza do lado do cliente, mas ja estamos trabalhando em uma atualização que vai possibilitar a geração do payment_token através do flutter Web.

Avatar discord do usuario yasmin_efi

yasmin_efi

Entendi @sergiomsa! Infelizmente, para gerar a assinatura via cartão de credito, é necessário que desenvolva a parte de obter os dados do cartão e criptografar, para enviar o payment_token

Avatar discord do usuario joao_efi

joao_efi

Ver Respostas

@ricardoolioti para obter o payment token é só utilizar o script fornecido na nossa documentação.
Você insere seu identificador de conta e ele te retorna um script para o ambiente de homologação e outro para produção.
https://dev.gerencianet.com.br/docs/pagamento-com-cartao#11-obten%C3%A7%C3%A3o-do-payment_token-pelo-front-end

Avatar discord do usuario joao_efi

joao_efi

Ver Respostas

Boa tarde @ricardoolioti tudo certo?
Você se refere ao payment token?

Avatar discord do usuario marcospaulo2911

marcospaulo2911

Tenho 18 cobranças não pagas (Enquanto dava erro no payment-token no painel) consigo limpar as mesmas pelo próprio painel?