Exemplo de Requisição Direta de Endpoints em PHP

EXIBINDO RESPOSTAS:

Avatar discord do usuario deivson7351

deivson7351

Boa noite, algém tem modelo em php de requisição endpoints para Criar cobrança imediata (com txid)

Avatar discord do usuario guilherme_efi

guilherme_efi

Bom dia, @deivson7351. Tudo bem?
Instalando nossa SDK de PHP (https://github.com/gerencianet/gn-api-sdk-php), você pode utilizar o seguinte exemplo para gerar cobrança imediata definindo na variável $params o txid desejado.

php

require __DIR__ . '/../../../vendor/autoload.php';

use Gerencianet\Exception\GerencianetException;
use Gerencianet\Gerencianet;

$file = file_get_contents(__DIR__ . '/../../config.json');
$options = json_decode($file, true);

$params = "7978c0c97ea847e78e8849634473c1f1"; // string (Id da Transação) ^[a-zA-Z0-9]{26,35}$

$body = [
"calendario" => [
"expiracao" => 3600
],
"devedor" => [
"cpf" => "12345678909",
"nome" => "Francisco da Silva"
],
"valor" => [
"original" => "0.01"
],
"chave" => "", // Chave pix da conta Gerencianet do recebedor
"solicitacaoPagador" => "Informe o número ou identificador do pedido.",
"infoAdicionais" => [
[
"nome" => "Campo 1", // Nome do campo string (Nome) ≤ 50 characters
"valor" => "Informação Adicional1 do PSP-Recebedor" // Dados do campo string (Valor) ≤ 200 characters
],
[
"nome" => "Campo 2",
"valor" => "Informação Adicional2 do PSP-Recebedor"
]
]
];

try {
$api = Gerencianet::getInstance($options);
$pix = $api->pixCreateCharge($params, $body);

if ($pix['txid']) {
$params = [
'id' => $pix['loc']['id']
];

// Gera QRCode
$qrcode = $api->pixGenerateQRCode($params);

echo 'Detalhes da cobrança:';
echo '
' . json_encode($pix, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '
';

echo 'QR Code:';
echo '
' . json_encode($qrcode, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '
';

echo 'Imagem:
';
echo '';
} else {
echo '
' . json_encode($pix, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '
';
}
} catch (GerencianetException $e) {
print_r($e->code);
print_r($e->error);
print_r($e->errorDescription);
} catch (Exception $e) {
print_r($e->getMessage());
}

Avatar discord do usuario deivson7351

deivson7351

Eu não consigo instalar o SDK, tenho que fazer requisição endpoints direto.