Histórico de mensagens sobre an em assinaturas

EXIBINDO CONVERSAS RECENTES:

Texto: an
Data: 17/10/2023
Canal: assinaturas
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Boa tarde, @antoniofernandes. Conforme o Rubens mencionou, dependendo do último dígito do cartão utilizado você tem um processamento diferente.
imagem enviada na mensagem pelo usuario guilherme_efi

Avatar discord do usuario antoniofernandes

antoniofernandes

Ver Respostas

@guilherme_efi Por favor me tire mais uma duvida.
Fiz a assinatura em sandbox com cartão fake, e aparentemente deu tudo certo.

Porem observando via painel na minha conta efi, a cobrança está como aguardando, ou seja, nao deveria ficar como paid, uma vez que foi feita com cartão. Tem alguma forma de passar para paid para que consiga testar o recebimento dessa notificação a fim de tratar isso no meu sistema?

Avatar discord do usuario antoniofernandes

antoniofernandes

Ver Respostas

Vou fazer mais uns teste, mas acho que era isso mesmo, ou seja, meu frontend estava como prod e backend como sandbox.
Valeu amigo, muito obrigado!

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 antoniofernandes

antoniofernandes

Ver Respostas

Meu objeto de configuracao contem mais ou menos os seguinte dados:

js
options {
sandbox: true,
client_id: 'Client_Id_a34467b0898cbbf...',
client_secret: 'Client_Secret_1a7450d8d5c0b...',
pix_cert: '0�\n' +
'm\x02\x01\x030�\n' + ...
}
Vale salientar que o método abaixo esta funcionando normal
js
const signature = await this.gn.createSubscription(
paramsSignature,
bodySubscriptionSignature,
);
porem o metodo paySubscription é que está gerando o erro:
js
this.gerencianet.paySubscription(params, body);

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 guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @antoniofernandes! Como vai?
Você pode usar alguns cartões fictícios gerados no site 4Devs.

Avatar discord do usuario antoniofernandes

antoniofernandes

Ver Respostas

@Efí vc poderiam me informar o numero de um cartão de teste para que possa testar minha integração de assinatura em sandbox?