Histórico de mensagens sobre url pix txid

EXIBINDO CONVERSAS RECENTES:

Texto: url pix txid
# pix
Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Boa tarde @marcosvinicius0759 ! Não compreendi muito bem sua dúvida. Você vai cadastrar uma única url de webhook para uma chave Pix da sua conta. Todas as cobranças vinculadas àquela chave, quando houver um pagamento, será disparado o webhook pra você. Você terá a informação do e2eid e do txid daquela cobrança recebida.

# devs
Avatar discord do usuario cleyton5212

cleyton5212

payload = {
"calendario": {"expiracao": time},
# "devedor": {"cpf": cpf, "nome": name},
"valor": {"original": two_case(value)},
"chave": self.key_pix,
"solicitacaoPagador": "Informe o número ou identificador do pedido.",
}
self.header = header
dados = await self.hc.post(
"https://pix.api.efipay.com.br/v2/cob",
headers=header,
json=payload,
)
djson = dados.json()

# Adicionando verificações de erro
if dados.status_code != 201:
raise Exception(f"Erro ao criar cobrança: {djson.get('mensagem')}")

ID = djson.get("loc", {}).get("id")
if not ID:
raise Exception("Erro: ID da localização não encontrado na resposta.")

url = f"https://pix.api.efipay.com.br/v2/loc/{ID}/qrcode"
rt = await self.hc.get(url, headers=header)
rjson = rt.json()

if rt.status_code != 200:
raise Exception(f"Erro ao obter QR Code: {rjson.get('mensagem')}")

self.payment_id = djson.get("txid")
self.user_id = user_id

return rjson

# pix
Avatar discord do usuario mesenga.

mesenga.

Ver Respostas

olá, consegui cadastrar a url usando pixConfigWebhook (sdk typescript), agora depois de gerar a cobrança e cadastrar o webhook recebo uma requisição na url cadastrada com o seguinte payload

DEFAULT 2024-05-30T16:03:39.462573Z /webhook payload: {
DEFAULT 2024-05-30T16:03:39.462585Z pix: [
DEFAULT 2024-05-30T16:03:39.462589Z {
DEFAULT 2024-05-30T16:03:39.462593Z endToEndId: 'E09089356202405301603API5d83da44',
DEFAULT 2024-05-30T16:03:39.462595Z txid: '89ddfba0723a4ef2b9ef5597381368aa',
DEFAULT 2024-05-30T16:03:39.462598Z chave: ,
DEFAULT 2024-05-30T16:03:39.462600Z valor: '4.00',
DEFAULT 2024-05-30T16:03:39.462602Z horario: '2024-05-30T16:03:09.000Z',
DEFAULT 2024-05-30T16:03:39.462605Z infoPagador: 'Teste de pagamento em ambiente sandbox'
DEFAULT 2024-05-30T16:03:39.462610Z }
DEFAULT 2024-05-30T16:03:39.462612Z ]
DEFAULT 2024-05-30T16:03:39.462615Z }

eu pensei que receberia o objeto com a propriedade status

alguém pode me ajudar a entender? grato

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

A ideia é esta mesmo, @alissonmaciel_32335. Você irá utilizar este endpoint PUT/v2/webhook/:chave para associar sua URL de notificação a sua chave Pix. E então as cobranças Pix que tiverem um txid e sua chave Pix, nós iremos enviar a notificação para a URL registrada. Essa configuração pode ser feita uma única vez.

Pontuando que para registrar sua URL de notificação, é importante que seu servidor tenha algumas configurações para atender a comunicação com mTLS para segurança da sua aplicação. Você encontra mais detalhes em nossa documentação e nos vídeos a seguir: https://dev.gerencianet.com.br/docs/api-pix-endpoints#webhooks
https://youtu.be/hdyUHzNwVLY?list=PLRqvcUTH2VsWufBmzOdTVeLEOTGrPNoiu
https://youtu.be/XB9bcZFTV3M?list=PLRqvcUTH2VsWufBmzOdTVeLEOTGrPNoiu

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Você pode configurar uma webhook URL para receber atualizações automáticas da cobrança Pix em sua aplicação. Veja aqui mais detalhes.
E para consultar uma cobrança específica, você pode usar o endpoint GET /v2/cob/:txid.

# pix
Avatar discord do usuario claudiohenriquedev

claudiohenriquedev

A Base URL para a configuração de split e para setar a configuração em uma transação continua sendo (https://api-pix.gerencianet.com.br) ?

Tentei utilizar a https://pix.api.efipay.com.br e os endpoints /v2/gn/split/config e /v2/gn/split/cob/:txid/vinculo/:split_id não funcionam.

# pix
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Um exemplo de um acionamento de webhook é o POST em {sua_url}/pix com um body da forma:

// 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"
}
]
}

# devs
Avatar discord do usuario .kahnclusions2

.kahnclusions2

Ver Respostas

Usando url = (f"https://api-pix.gerencianet.com.br/v2/pix/:txid") mesmo colocando todas as credenciais corretas recebo {"nome":"pix_nao_encontrado","mensagem":"Nenhum pix encontrado para o identificador informado"}

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

$url = "https://pix-h.api.efipay.com.br/v2/cobv/7978c0c97ea847e78e8849634473c1f1'";

O txid é um path parameter, não é nem no query nem no body

# pix
Avatar discord do usuario .viniciusc

.viniciusc

java
public static Cob createCharge(String token, String payload) {
Cob cob = null;
try {
Generex txid = new Generex("[a-zA-Z0-9]{26,35}");
URL url = new URL("https://api-pix-h.gerencianet.com.br/v2/cob/" + txid.random());
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("PUT");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Authorization", "Bearer " + token);

OutputStream os = conn.getOutputStream(); // O erro do connection reset ocorre aqui
os.write(payload.getBytes());
os.flush();

int responseCode = conn.getResponseCode();

StringBuilder responseBuilder = new StringBuilder();
BufferedReader br;

if (responseCode >= 400) {
br = new BufferedReader(new InputStreamReader(conn.getErrorStream()));
} else {
br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
}

String response;
while ((response = br.readLine()) != null) {
responseBuilder.append(response);
}

//System.out.println("Código de resposta HTTP: " + responseCode);
//System.out.println("Resposta do servidor: " + responseBuilder);

JsonMapper mapper = JsonMapper
.builder()
.configure(MapperFeature.USE_ANNOTATIONS, false)
.build();

cob = mapper.readValue(responseBuilder.toString(), Cob.class);

conn.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
return (cob != null) ? cob : new Cob();
}