Histórico de mensagens sobre custom_id

EXIBINDO CONVERSAS RECENTES:

Texto: custom_id
# módulos-plugins
Avatar discord do usuario marcelo_efi

marcelo_efi

Ver Respostas

Bom dia @deljdl , tudo bem ? O nosso endpoint de consulta do token realmente não retorna a forma de pagamento. Para lidar com essa situação, vejo duas soluções possíveis:

- Utilizar o atributo custom_id. Ele permite que você envie um ID personalizado do seu sistema, com até 255 caracteres. Esse ID é retornado na consulta do token, o que possibilita criar essa diferenciação.

- Criar rotas distintas em seu sistema. Com essas rotas separadas, você pode garantir que as notificações recebidas correspondam às transações específicas.

# dúvidas
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

@welitonxd quando você gera o link de pagamento, consultando a notificação recebida você consegue obter um charge_id, gerando um boleto através do link de pagamento ele vai ter esse charge_id, segue um exemplo de notificação onde eu gerei um link de pagamento e depois gerei um boleto através do link:

{
"code":200,
"data":[
{
"id":1,
"type":"charge",
"custom_id":"produto 1",
"status":{
"current":"new",
"previous":null
},
"identifiers":{
"charge_id":703265188
},
"created_at":"2024-04-11 14:11:24"
},
{
"id":2,
"type":"charge",
"custom_id":"produto 1",
"status":{
"current":"link",
"previous":"new"
},
"identifiers":{
"charge_id":703265188
},
"created_at":"2024-04-11 14:11:24"
},
{
"id":3,
"type":"charge",
"custom_id":"produto 1",
"status":{
"current":"waiting",
"previous":"link"
},
"identifiers":{
"charge_id":703265188
},
"created_at":"2024-04-11 14:11:54"
}
]
}

# dúvidas
Avatar discord do usuario gilmarcarvalhoti

gilmarcarvalhoti

Ver Respostas

OK, compreendido!

O número do carnê é igual a= carnet_id
O número da cobrança ou boleto da parcela do carnê é igual a= charge_id

Acessando manualmente os boletos e carnês gerados manualmente dentro do próprio sistema da conta EFí, eu consigo localizar o "número do carnê" e o "número da cobrança". Com esses dados seria possível enviar a requisição utilizando o custom_id para personalizar e associar uma transação Efí a um "número do carnê" ou "número da cobrança"? Ou até mesmo utilizando o "detailCarnet.php" ou o "detailBillet.php" para busca-los já que possuímos o "número do carnê= carnet_id" e o "número da cobrança= charge_id" que foram gerados automaticamente ao gerar os boletos e carnês manualmente dentro do próprio sistema da conta EFí?

# dúvidas
Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Boa tarde @gilmarcarvalhoti ! O charge_id/carnet_id são identificadores gerados automaticamente, não é possível personalizar. Você pode enviar na requisição o atributo custom_id, que permite associar uma transação Efí a uma ID específica de seu sistema ou aplicação, permitindo identificá-la caso você possua uma identificação específica e queira mantê-la.

# bolix
Avatar discord do usuario mayron1806

mayron1806

Ver Respostas

Bom dia, estou criando uma cobrança do tipo bolix, mas está sendo retornado como se fosse um boleto
Aqui esta o json de entrada "{
"items": [
{
"name": "Plano 1",
"value": 2000,
"amount": 1
}
],
"payment": {
"banking_billet": {
"expire_at": "2024-02-24",
"customer": {
"name": "mayron fernandes",
"cpf": ...,
"email": ...,
"phone_number": ...,
"birth": ...,
"address": {
...
}
}
}
},
"metadata": {
"custom_id": "f5e3fef8-01ca-4503-b08e-67aa194bf416",
"notification_url": ...
}
}", e aqui a resposta "{
barcode: '00000.00000 00000.000000 00000.000000 0 00000000000000',
link: 'https://download.gerencianet.com.br/v1/524831_14_SERCA5/524831-14-NEMCA0?sandbox=true',
billet_link: 'https://visualizacaosandbox.gerencianet.com.br/emissao/524831_14_SERCA5/A4XB-524831-14-NEMCA0',
pdf: {
charge: 'https://download.gerencianet.com.br/524831_14_SERCA5/524831-14-NEMCA0.pdf?sandbox=true'
},
expire_at: '2024-02-24',
charge_id: 44006663,
status: 'waiting',
total: 2000,
payment: 'banking_billet'
}"

# assinaturas
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

As assinaturas vão ter os status da tanto da assinatura quanto os status das transações. Segue um exemplo de notificação de assinatura:

json
{
"code": 200,
"data": [
{
"id": 1,
"type": "subscription",
"custom_id": null,
"status": {
"current": "new",
"previous": null
},
"identifiers": {
"subscription_id": 11976
},
"created_at": "2021-07-20 00:20:16"
},
{
"id": 2,
"type": "subscription_charge",
"custom_id": null,
"status": {
"current": "new",
"previous": null
},
"identifiers": {
"subscription_id": 11976,
"charge_id": 2396478
},
"created_at": "2021-07-20 00:20:16"
},
{
"id": 3,
"type": "subscription_charge",
"custom_id": null,
"status": {
"current": "waiting",
"previous": "new"
},
"identifiers": {
"subscription_id": 11976,
"charge_id": 2396478
},
"created_at": "2021-07-20 00:20:27"
},
{
"id": 4,
"type": "subscription",
"custom_id": null,
"status": {
"current": "active",
"previous": "new"
},
"identifiers": {
"subscription_id": 11976
},
"created_at": "2021-07-20 00:20:28"
},
{
"id": 5,
"type": "subscription_charge",
"custom_id": null,
"status": {
"current": "paid",
"previous": "waiting"
},
"identifiers": {
"subscription_id": 11976,
"charge_id": 2396478
},
"created_at": "2021-07-22 03:19:17",
"value": 12390,
"received_by_bank_at": "2022-03-28" // data do pagamento da cobrança
},
{
"id": 6,
"type": "subscription_charge",
"custom_id": null,
"status": {
"current": "new",
"previous": null
},
"identifiers": {
"subscription_id": 11976,
"charge_id": 2688053
},
"created_at": "2021-08-20 00:30:09"
},
{
"id": 7,
"type": "subscription_charge",
"custom_id": null,
"status": {
"current": "waiting",
"previous": "new"
},
"identifiers": {
"subscription_id": 11976,
"charge_id": 2688053
},
"created_at": "2021-08-20 00:30:09"
},
{
"id": 8,
"type": "subscription_charge",
"custom_id": null,
"status": {
"current": "unpaid",
"previous": "waiting"
},
"identifiers": {
"subscription_id": 11976,
"charge_id": 2688053
},
"created_at": "2021-08-25 01:32:38"
},
{
"id": 9,
"type": "subscription",
"custom_id": null,
"status": {
"current": "canceled",
"previous": "active"
},
"identifiers": {
"subscription_id": 11976
},
"created_at": "2021-08-28 23:26:58"
}
]
}
Você vai sempre verificar o "type": "subscription", e o status da assinatura.
E quando for "type": "subscription_charge", você verá o status de uma transação

# bolix
Avatar discord do usuario jessica_efi

jessica_efi

O custom_id seria mais pra gerenciamento dentro do seu sistema mesmo.

# bolix
Avatar discord do usuario edhercs

edhercs

Entendi, de qq forma tenho que armazenar o charge_id para fazer uma associação, não tem vantagem então em usar o custom_id

# bolix
Avatar discord do usuario edhercs

edhercs

Ver Respostas

No campo custom_id eu posso informar um id do meu sistema, mas de que forma posso consultar por ele?

# cartões
Avatar discord do usuario marcoglg_dev

marcoglg_dev

Boa tarde, ao colocar um url de notificação eu tenho que necessariamente adicionar um custom_id?

body = {
'notification_url': 'http://yourdomain.com',
'custom_id': 'my_new_id'
}

# bolix
Avatar discord do usuario robson_22856

robson_22856

Boa tarde, uma dúvida, quanto a gente inclui uma url para callback semelhanta a json.AddPair('notification_url', 'https://api.webhookinbox.com/i/xQd1gNhS/in/');
json.AddPair('custom_id', '43912669');

quando essa duplicata for paga, o end point recebe alguma notificação?

# 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?

# assinaturas
Avatar discord do usuario fabioselau

fabioselau

json
{
"code": 200,
"data": [
{
"id": 1,
"type": "subscription",
"custom_id": "id_666",
"status": {
"current": "new",
"previous": null
},
"identifiers": {
"subscription_id": 78245
},
"created_at": "2023-09-20 15:17:09"
},
{
"id": 2,
"type": "subscription",
"custom_id": "id_666",
"status": {
"current": "new_charge",
"previous": "new"
},
"identifiers": {
"subscription_id": 78245
},
"created_at": "2023-09-20 15:17:09"
},
{
"id": 3,
"type": "subscription",
"custom_id": "id_666",
"status": {
"current": "active",
"previous": "new_charge"
},
"identifiers": {
"subscription_id": 78245
},
"created_at": "2023-09-20 15:17:09"
},
{
"id": 4,
"type": "subscription_charge",
"custom_id": "id_666",
"status": {
"current": "new",
"previous": null
},
"identifiers": {
"subscription_id": 78245,
"charge_id": 43838086
},
"created_at": "2023-09-20 15:17:09"
},
{
"id": 5,
"type": "subscription_charge",
"custom_id": "id_666",
"status": {
"current": "waiting",
"previous": "new"
},
"identifiers": {
"subscription_id": 78245,
"charge_id": 43838086
},
"created_at": "2023-09-20 15:17:09"
}
]
}

# dúvidas
Avatar discord do usuario jamersonbernardo

jamersonbernardo

Ver Respostas

Boa noite!!!
Estou tentando gerar uma assinatora por link e está retornando o erro 3500000: Erro interno no servidor.
No dia 08/09/2023, estava rodando o mesmo código e fucionava perfeitamente.
Rota: /plan/11119/subscription/one-step/link [POST]
Sandbox: true
Dados de entrada:
{
"items": [
{
"name": "Assinatura - Mensal",
"value": 1300,
"amount": 1
}
],
"metadata": {
"custom_id": "5",
"notification_url": "http://api.webhookinbox.com/i/U1qO3tMZ/in/"
},
"settings": {
"payment_method": "all",
"expire_at": "2023-09-16",
"request_delivery_address": false
}
}


Dados de saída
{
"code": 3500000,
"error": "server_error",
"error_description": "Erro interno do servidor."
}

# devs
Avatar discord do usuario mauriciosarmento

mauriciosarmento

3500034validation_errorA propriedade [custom_id] deve corresponder à expressão ^[a-zA-Z0-9_-s]+$.

# devs
Avatar discord do usuario mathheusdr

mathheusdr

Bom dia, estou testando a resposta da API e estou em ambiente de desenvolvimento utilizando o Xampp
$metadata = [
"custom_id" => "Order_00001",
"notification_url" => "http://localhost/Projeto/resposta"
];
o erro : 3500034validation_errorA propriedade [notification_url] é inválida.
existe uma forma de testar a resposta neste formato ?

# cartões
Avatar discord do usuario mccartneyba

mccartneyba

Ver Respostas

{
"code": 200,
"data": [
{
"id": 1,
"type": "charge",
"custom_id": "81",
"status": {
"current": "new",
"previous": null
},
"identifiers": {
"charge_id": 583502711
},
"created_at": "2023-07-07 22:03:42"
},
{
"id": 2,
"type": "charge",
"custom_id": "81",
"status": {
"current": "waiting",
"previous": "new"
},
"identifiers": {
"charge_id": 583502711
},
"created_at": "2023-07-07 22:03:42"
},
{
"id": 3,
"type": "charge",
"custom_id": "81",
"status": {
"current": "unpaid",
"previous": "waiting"
},
"reason": "No momento, a transação não foi autorizada.",
"identifiers": {
"charge_id": 583502711
},
"created_at": "2023-07-07 22:03:42"
}
]
}

# bolix
Avatar discord do usuario guilherme.lopes

guilherme.lopes

Ver Respostas

Bom dia

Eu envi para o a api

{
"metadata": {
"custom_id": "e88433c3-6a96-4846-911b-59e316da6553",
"notification_url": "xxxxxx"
},
"payment": {
"banking_billet": {
"configurations": {
"fine": 4,
"interest": 25
},
"conditional_discount": {
"until_date": "2023-06-20",
"type": "currency",
"value": 25000
},
"expire_at": "2023-06-30",
"customer": {
"name": "xxxx",
"cpf": "xxxxxxx",
"birth": "xxxxxx",
"phone_number": "xxxxx",
"email": "xxxxx"
}
}
},
"items": [
{
"amount": 1,
"name": "teste",
"value": 250000
}
]
}

# bolix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @cloudota. Como vai?
No endpoit de consultar boleto não é possível filtrar pelo "custom_id", somente através do "chage_id".
No caso, o "custom_id" pode ser utilizado no momento da conciliação de pagamento, por exemlplo.
imagem enviada na mensagem pelo usuario guilherme_efi