Histórico de mensagens sobre js

EXIBINDO CONVERSAS RECENTES:

Texto: js
# pagamento-contas
Avatar discord do usuario mike_affs

mike_affs

Ver Respostas

estou usando node para criar um bot de vendas de produtos online gostaria de saber qual é a compatiblidade com ts ou js ou se seria eu utilizar outra lioguagem de programação para fazer isso....

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @kvtwetfps! Como vai?
Como o Rubens mencionou, você pode usar o endpoint https://dev.efipay.com.br/docs/api-pix/endpoints-exclusivos-efi#criarmodificar-configurações-da-conta">PUT /v2/gn/config para habilitar a configuração webhook.notificacao.pagador=true que permite receber no webhook o nome e o CPF mascarado do pagador, conforme exemplo abaixo:

json
// webhook de Pix recebido com dados do pagador CPF
{
"pix": [
{
"endToEndId": "E1803615022211340s08793XPJ",
"txid": "fc9a43k6ff384ryP5f41719",
"chave": "2c3c7441-b91e-4982-3c25-6105581e18ae",
"valor": "0.01",
"horario": "2020-12-21T13:40:34.000Z",
"infoPagador": "pagando o pix",
"gnExtras": {
"pagador": {
"nome": "GORBADOCK OLDBUCK",
"cpf": ".123.456-",
"codigoBanco":"00416968"
}
}
}
]
}

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Tem uma SDK específica de TS e vc está usando a de NodeJS... apesar da grande similaridade, pode ser o problema.
https://dev.efipay.com.br/docs/sdk/type-script

# pix
Avatar discord do usuario scriptumg

scriptumg

Estou usando discord.js e estou criando o codigo em .ts

# devs
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Mas fica o registro de que mesmo sem parâmetro de query, no JSON vem a chave Pix que já identifica unicamente um cliente. Então a query seria só "belts and suspenders", ou seja, ter mais um fator de confirmação.

# dúvidas
Avatar discord do usuario bgeneto

bgeneto

Ver Respostas

Olá! Já estão marcados mas ainda recebo:

json
{
"error": "insufficient_scope",
"error_description": "Access token has insufficient scope"
}

imagem enviada na mensagem pelo usuario bgeneto

# dúvidas
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Olá, @gabrielkaka123. Bom dia! Tudo bem e com você?

A forma ideal de verificar os pagamentos de cobranças Pix é usando um webhook. Para isso, você configura através do endpoint PUT /v2/webhook/:chave, uma URL do seu site associada à chave Pix usada nas cobranças. Assim, quando uma cobrança for paga, a API do Efí envia automaticamente uma notificação para sua URL com um JSON contendo as informações do Pix.

Entre essas informações estará o txid (identificador do Pix que você emitiu). Com isso, você poderá fazer a conciliação e realizar processos como o envio do e-mail que deseja.

Se tiver qualquer outra dúvida, conte com a gente!

# pix
Avatar discord do usuario sml3541

sml3541

Ver Respostas

js
const result = await efiPay.pixCreateImmediateCharge({}, {
calendario: {
expiracao: 3600
},
devedor: {
cpf,
nome: name
},
valor: {
original: totalCost.toFixed(2)
},
chave: process.env.PIX_KEY
});

# assinaturas
Avatar discord do usuario cleitonconceicao_

cleitonconceicao_

pessoal, boa noite! blz? meu webhook está sendo notificado, está retornando o id da empresa que definir na URl, porém não está vindo estrutura json nenhuma. na minha cabeça imagino que deveria vim, pois é baseado nela que vou gravar os registro do pagamento no meu sistema. o que estou fazendo de errado?

# dúvidas
Avatar discord do usuario flockgamerr

flockgamerr

js
{
"nome": "documento_bloqueado",
"mensagem": "O documento desta conta tem bloqueios que impedem essa operação. Entre em contato em nossos canais de comunicação para maiores esclarecimentos."
}

# dúvidas
Avatar discord do usuario afyterr

afyterr

Ver Respostas

try {
// Verificar o estado da cobrança
const isCobAtiva = await verificarEstadoCob(txid);
if (!isCobAtiva) {
return res.status(400).json({ message: 'A cobrança não está ativa.' });
}

// Verificar o estado da configuração de Split
const isSplitAtivo = await verificarEstadoSplit(txid, splitConfigId);
if (!isSplitAtivo) {
return res.status(400).json({ message: 'A configuração de Split não está ativa.' });
}

// Garantir que os valores somam corretamente
const valoresValidos = await validarSomaValores(txid, splitConfigId);
if (!valoresValidos) {
return res.status(400).json({
message: 'O valor da cobrança não corresponde à soma dos valores do Split.',
});
}

// Vincular cobrança ao Split
const efipay = new EfiPay(options);
const resposta = await efipay.pixSplitLinkCharge({ txid, splitConfigId });

return res.status(200).json({
message: 'Cobrança vinculada ao split com sucesso!',
data: resposta || 'sem dados de retorno',
});
} catch (error) {
console.error('Erro ao vincular cobrança ao split:', error);
return res.status(500).json({
message: 'Erro ao vincular cobrança ao split',
error: error.message || 'Erro desconhecido',
});
}
});

# dúvidas
Avatar discord do usuario afyterr

afyterr

Ver Respostas

O parâmetro está derra forma:

exports.pixSplitLinkCharge = functions.https.onRequest(async (req, res) => {
// Verifica se o método HTTP é POST
if (req.method !== 'POST') {
return res.status(405).send('Método não permitido');
}

// Obtém os dados do corpo da requisição (txid e splitConfigId)
const { txid, splitConfigId } = req.body;

// Verifica se os parâmetros necessários foram fornecidos
if (!txid || !splitConfigId) {
return res.status(400).send('Parâmetros txid e splitConfigId são obrigatórios.');
}

// Configuração dos parâmetros para o split de cobrança Pix
let params = {
txid: txid, // O ID da transação Pix
splitConfigId: splitConfigId // O ID da configuração de split
};

// Inicializa o EfiPay com as credenciais
const efipay = new EfiPay(options);

try {
console.log('Enviando solicitação para pixSplitLinkCharge:', params);
// Faz a solicitação para vincular o split à cobrança Pix
const resposta = await efipay.pixSplitLinkCharge(params);

// Verifica se a resposta tem conteúdo, caso contrário retorna mensagem padrão
if (resposta) {
return res.status(200).json({
message: 'Cobrança vinculada ao split com sucesso!',
data: resposta || 'sem dados de retorno'
});
} else {
return res.status(200).json({
message: 'Cobrança vinculada com sucesso!',
});
}
} catch (error) {
// Lida com erros da API e retorna uma resposta de erro
console.error('Erro ao vincular cobrança ao split:', error);
return res.status(500).json({
message: 'Erro ao vincular cobrança ao split',
error: error || 'error'
});
}
});

# assinaturas
Avatar discord do usuario cleitonconceicao_

cleitonconceicao_

conseguem me informar como é esse json que vcs me retornam?

# pix
Avatar discord do usuario palloma_efi

palloma_efi

Ver Respostas

No pagamento de uma cobrança Pix, você receberá a notificação dessa forma:

json
// Pix recebido
{
"pix": [
{
"endToEndId": "E1803615022211340s08793XPJ",
"txid": "fc9a43k6ff384ryP5f41719",
"chave": "2c3c7441-b91e-4982-3c25-6105581e18ae",
"valor": "0.01",
"horario": "2020-12-21T13:40:34.000Z",
"infoPagador": "pagando o pix"
}
]
}
Neste https://dev.efipay.com.br/docs/api-pix/webhooks#requisição">link da nossa documentação contém variações desse recebimento.

# bolix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @adenilson2703! Tudo bem?
Segue um JSON de exemplo com o atributo conditional_discount. Neste caso, está sendo aplicado um desconto fixo de R$ 5,00 para pagamento realizado até o dia 19/12/2024. Você pode alterar o atributo type para percentage caso prefira aplicar o desconto em porcentagem.

json
{
"items": [
{
"name": "Product",
"value": 5000,
"amount": 1
}
],
"metadata": {
"notification_url": "{{notification_url}}"
},
"payment": {
"banking_billet": {
"expire_at": "2024-12-20",
"customer": {
"name": "Gorbadoc Oldbuck",
"cpf": "94271564656",
"email": "[email protected]"
},
"conditional_discount": {
"type": "currency",
"value": 500,
"until_date": "2024-12-19"
}
}
}
}

# cartões
Avatar discord do usuario hugosilvac

hugosilvac

Ver Respostas

Bom dia, pessoal!

Estou enfrentando um problema ao tentar implementar o split de pagamento com cartão no Bubble utilizando a API da Efí.

Estou configurando o endpoint https://cobrancas.api.efipay.com.br/v1/charge/one-step no API Connector do Bubble, mas ao testar a chamada, recebo o status code 401 e a mensagem: "There was an issue setting up your call.".

Já revisei minha configuração, mas não consigo identificar o que pode estar faltando. Existe algum detalhe específico relacionado à autenticação ou estrutura da requisição que devo considerar? Se alguém já passou por isso ou puder me dar uma dica, ficarei muito grato!

Body (Json):
'{
"items":[
{
"name":"nome",
"value": ,
"amount":1,
"marketplace":{
"repasses":[
{
"payee_code":"",
"percentage":
}
]
}
}
],
"payment":{
"credit_card":{
"customer":{
"name":"",
"cpf":"",
"email":"",
"birth":"",
"phone_number":""
},
"installments":1,
"payment_token":""
}
}
}'
imagem enviada na mensagem pelo usuario hugosilvac

# devs
Avatar discord do usuario allllison.

allllison.

PS C:\Users\aluno\OneDrive\Documentos\pagemnto\Pagamento_API> Invoke-WebRequest -Uri http://localhost:3090/criar-pix
>> -Method POST

>> -Headers @{"Content-Type" = "application/json"}
>> -Body '{"transaction_amount": "150.00"}'
>>

# pix
Avatar discord do usuario marcelo_efi

marcelo_efi

Boa tarde @gabmatos , tudo bem? O Node possui uma biblioteca nativa para resolução de caminhos. Veja se com ela o problema persiste: Documentação do Node.js - Path

# pix
Avatar discord do usuario gabmatos

gabmatos

Olá, estou tendo o seguinte problema para localizar meus certificados:

[1] Falha ao ler o certificado, verifique o caminho informado: ../pix/homologacao.p12
[1] Verifique o atributo sandbox e certificate, e garanta que eles estejam corretamente atribuidos para o ambiente desejado

Na estrutura de diretórios tenho a imagem anexa. Mesmo passando o path correto no credentials.js não é encontrado.

Conseguem me ajudar?
imagem enviada na mensagem pelo usuario gabmatos
imagem enviada na mensagem pelo usuario gabmatos

# pix
Avatar discord do usuario nuvem_vet

nuvem_vet

consegue me ajudar?
public function setupWebhook($webhookUrl)
{
$data = [
"webhookUrl" => $webhookUrl
];

$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://pix-h.api.efipay.com.br/v2/webhook/' . $this->getClientKeyPix(),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer {$this->getClientKeyPix()}",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$error = curl_error($curl);
curl_close($curl);

if ($error) {
throw new \Exception("Erro ao configurar o webhook: $error");
}

return json_decode($response, true);
}

consegue me dizer se essa requisição para configurar o webhook esta correta?