O certificado pode ser baixado pelos seguintes links:
Homologação: https://pix.gerencianet.com.br/webhooks/chain-pix-sandbox.crt
Produção: https://pix.gerencianet.com.br/webhooks/chain-pix-prod.crt
Termos mais procurados:
Termos mais procurados:
O certificado pode ser baixado pelos seguintes links:
Homologação: https://pix.gerencianet.com.br/webhooks/chain-pix-sandbox.crt
Produção: https://pix.gerencianet.com.br/webhooks/chain-pix-prod.crt
Estou tentando fazer uma transação:
require __DIR__.'/vendor/autoload.php'; // caminho relacionado a SDK
use Gerencianet\Exception\GerencianetException;
use Gerencianet\Gerencianet;
$clientId = 'Client_Id_99869ea3xxxxxxxxxxxxxxxxxxxxx78a6a4708f3e'; // insira seu Client_Id, conforme o ambiente (Des ou Prod)
$clientSecret = 'Client_Secret_xxxxxxxxxxxxxxxxxxxxe0b24848af5d1bfb'; // insira seu Client_Secret, conforme o ambiente (Des ou Prod)
$options = [
'client_id' => $clientId,
'client_secret' => $clientSecret,
'sandbox' => true // altere conforme o ambiente (true = desenvolvimento e false = producao)
];
$item_1 = [
'name' => 'Item 1', // nome do item, produto ou serviço
'amount' => 1, // quantidade
'value' => 1000 // valor (1000 = R$ 10,00) (Obs: É possível a criação de itens com valores negativos. Porém, o valor total da fatura deve ser superior ao valor mínimo para geração de transações.)
];
$item_2 = [
'name' => 'Item 2', // nome do item, produto ou serviço
'amount' => 2, // quantidade
'value' => 2000 // valor (2000 = R$ 20,00)
];
$items = [
$item_1,
$item_2
];
$body = [
'items' => $items
];
try {
$api = new Gerencianet($options);
$charge = $api->createCharge([], $body);
print_r($charge);
} catch (GerencianetException $e) {
print_r($e->code);
print_r($e->error);
print_r($e->errorDescription);
} catch (Exception $e) {
print_r($e->getMessage());
}
Mas obtenho o erro acima, na imagem.
Tivemos uma instabilidade no sandbox, mas já esta normal o serviço. Testa novamente ai por favor e qualquer coisa só acionar a gente aqui
Bom dia <@!281518400918781952>, identificamos essa falha de "Erro interno do servidor." em ambiente sandbox, nossa equipe já está atuando para soluciona-la o quanto antes. Reforço que para o ambiente de produção está normal os serviços.
Saberiam me dizer se está tudo operacional ai no endpoint do sandbox?
hWebService := CURL_EASY_INIT()
IF !EMPTY(hWebService)
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_URL, "https://sandbox.gerencianet.com.br/v1/authorize")
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_RETURNTRANSFER, .T.)
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_ENCODING, '')
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_MAXREDIRS, 10)
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_TIMEOUT, 0)
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_FOLLOWLOCATION, .T.)
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_HTTP_VERSION, "CURL_HTTP_VERSION_1_1")
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_CUSTOMREQUEST, "POST")
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_POSTFIELDS, {"grant_type","client_credentials"})
CURL_EASY_SETOPT(hWebService, HB_CURLOPT_HTTPHEADER, {'Authorization: Basic Q2...','Content-Type: application/json'})
ncurlErr:=curl_easy_perform (hWebService)
IF ncurlErr > 0
? "Curl Error: "+str(ncurlErr)
ENDIF
ENDIF
curl_easy_cleanup( hWebService )
Alterou também "sandbox" para false, no config.json?
Tente excluir a pasta vendor, e executar o comando composer install novamente
Ambiente de homologação é: https://pix.gerencianet.com.br/webhooks/chain-pix-sandbox.crt
Ambiente de produção é:
https://pix.gerencianet.com.br/webhooks/chain-pix-prod.crt
A propósito, só para informar mesmo, não sei se é o comportamento esperado, mas a chamada do getPaymentToken (no sandbox) gera esse erro de carregamento apesar de não comprometer o funcionamento. Acho que é por conta da falta do SSL.
A propósito, para quem usa Angular, segue o snippet de um Service para obtenção do token para quem quiser 🙂
Sim, você tem que mandar o juridical_person, ao invés de passar nome e cpf, veja um exemplo em Delphi:
Boa tarde, estou iniciando uma integração com um sistema criado em xBase, no caso, eu posso usar a DLL do delphi para isso, mas não acho os comandos que devo usar e etc... Na documentação que vi no site vi os exemplos para o delphi.
Exemplo
ConfigureService(ClientID,ClientSecret,'sandbox','config.json',PartnerToken) <--- Esse comando esta na DLL
GerenciaNetAuthorize() <--- Esse não esta....
$options = [
'client_id' => $this->clientId,
'client_secret' => $this->clientSecret,
'pix_cert' => '/etc/certs-gerencianet/olimppiuspixprod.pem',
// 'debug' => false,
// 'timeout' => 30,
'sandbox' => false
];
Conforme o Matheus exemplificou a forma como é feito o settleCharge()
Ou seja, este trecho que ele lhe passou, você irá implementar em seu _QUITAR_boletocliente.php
E nele você irá pegar o id que foi passado via POST no data : "_method=id_transacao="+id,, da seguinte forma:
Boa tarde <@!824696840153726987>, o método é PUT mesmo, especificamente PUT /v1/charge/:id/settle. Como você está utilizando JS seria assim:
$options = [
'client_id' => $this->clientId,
'client_secret' => $this->clientSecret,
'pix_cert' => $this->pixCert,
'headers' => array(
'x-skip-mtls-checking' => 'true'
),
// 'debug' => false,
// 'timeout' => 30,
'sandbox' => $this->sandboxBoolean // (true = development e false = production)
];
$options = [
'client_id' => $this->clientId,
'client_secret' => $this->clientSecret,
'pix_cert' => $this->pixCert,
// 'debug' => false,
// 'timeout' => 30,
'sandbox' => $this->sandboxBoolean // (true = development e false = production)
];
<@!723278999236771916> A SDK já foi planejada para ser utilizada com poucas modificações. No caso, foi centralizado no arquivo .json as configurações de ambiente (sandbox true => Homologação ou sandbox false => produção), definições de credenciais e caminho do certificado.
Não necessariamente deve ser salvo na pasta /exemples/pix/certs, mas então no config.json você pode modificar o diretório do certificado para referenciá-lo em outra pasta.
Como faço então pra simular um pagamento no sandbox?