Histórico de mensagens em assinaturas

EXIBINDO CONVERSAS RECENTES:

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 rubenskuhl

rubenskuhl

Ver Respostas

Alguns dígitos finais de cartão dão como pago.

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 guilherme_efi

guilherme_efi

Ver Respostas

Isso ai. Por nada. Qualquer coisa pode contar com a gente!

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?