API - Gerencianet

Minha intenção é poder utilizar a API da Gerencianet, se alguém poder me ajudar agradeço…
Criei um formulário, onde o mesmo gravará as informações em banco e enviará a geração do boleto… estou tendo um problema, ao clicar em inserir, ele salva no banco, envia as informações para Gerencianet normalmente, mas a tela fica em branco depois…
Coloquei o código abaixo no onAfterInsert, quando clico inserir, a tela fica branca, sem erro algum, já debuguei e não aparece nada, alguém pode me ajudar o que está de errado neste código?

[code]//require DIR . ‘/…/api/vendor/autoload.php’; // caminho relacionado a SDK
sc_include_library(‘sys’,‘gerencianet’,‘api_v2/vendor/autoload.php’, true, true);

//use Gerencianet\Exception\GerencianetException; //crédito Everaldo dos Anjos
//use Gerencianet\Gerencianet; //crédito Everaldo dos Anjos

$clientId = ‘Client_Id_xxxxxxxxxxxxxxxxxxx’;
$clientSecret = ‘Client_Secret_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx’;

$options = [
‘client_id’ => $clientId,
‘client_secret’ => $clientSecret,
‘sandbox’ => true // altere conforme o ambiente (true = desenvolvimento e false = producao)
];

if (isset($_POST)) {

$item_1 = [
    'name' => {descricao},
    'amount' => (int) {quantidade},
    'value' => (int) {valor}
];

$items = [
    $item_1
];

$body = ['items' => $items];

try {
    //$api = new Gerencianet($options); DESABILITADO //crédito Everaldo dos Anjos
	$api = new Gerencianet\Gerencianet($options);//SUBSTITUI A LINHA ANTERIOR //crédito Everaldo dos Anjos
    $charge = $api->createCharge([], $body);
    if ($charge["code"] == 200) {

        $params = ['id' => $charge["data"]["charge_id"]];
        $customer = [
            'name' => {nome_cliente},
            'cpf' => {cpf},
            'phone_number' => {telefone}
        ];

        //Formatando a data, convertendo do estino brasileiro para americano.
        $data_brasil = DateTime::createFromFormat('d/m/Y', {vencimento});
        
        $bankingBillet = [
            'expire_at' => $data_brasil->format('Y-m-d'),
            'customer' => $customer
        ];
        $payment = ['banking_billet' => $bankingBillet];
        $body = ['payment' => $payment];

        $api = new Gerencianet($options);
        $pay_charge = $api->payCharge($params, $body);
		
		echo json_encode($pay_charge);
		
		
    } else {
        
    }
} catch (GerencianetException $e) {
    print_r($e->code);
    print_r($e->error);
    print_r($e->errorDescription);
} catch (Exception $e) {
    print_r($e->getMessage());
}

}[/code]

Alguém aqui conseguiu utilizar a API da Gerencianet para emissão de boletos?

Joelton,

Nestas linhas aqui, ao invés de:

            $api = new Gerencianet($options);
            $pay_charge = $api->payCharge($params, $body);

Não deveria ser:

            $api = new Gerencianet\Gerencianet($options);
            $pay_charge = $api->payCharge($params, $body);

?

Não funciona, somente assim…

@Joelton

Me chamo Tiago, trabalho na área de integrações com a API da Gerencianet.

Consigo te ajudar, mas preciso saber detalhes sobre que aplicação está utilizando. Ou seja, precisarei verificar nos logs da API atrelada a esse par de chaves o que está chegando, etc.

Te mandei uma MP (Mensagem Privada) solicitando essa informação, ok?

Estava passando pelo mesmo problema, que foi resolvido seguindo essa resposta, obrigado pela dica!

1 Curtida

Olá @julioalbuquerque… sobre sua questão de cartão de crédito…
Eu não uso por enquanto integração, fiz uma época somente para brincar…
Mas não me recordo deste campo payment_code
Veja melhor o link…

Dúvidas a mais poste aqui