PHP Extension
PHP Extension
Banco Inter OAuth2 Client Credentials
Generate an OAuth2 access token needed to consume the Inter APIs.Chilkat PHP Extension Downloads
<?php
include("chilkat.php");
$success = false;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
$http = new CkHttp();
// First load the certificate and private key, and set as the HTTP object's client certificate.
$cert = new CkCert();
$success = $cert->LoadFromFile('<nome arquivo certificado>.crt');
if ($success == false) {
print $cert->lastErrorText() . "\n";
exit;
}
$bdPrivKey = new CkBinData();
$success = $bdPrivKey->LoadFile('<nome arquivo chave privada>.key');
if ($success == false) {
print 'Failed to load <nome' . "\n";
exit;
}
$privKey = new CkPrivateKey();
$success = $privKey->LoadAnyFormat($bdPrivKey,'');
if ($success == false) {
print $privKey->lastErrorText() . "\n";
exit;
}
$success = $cert->SetPrivateKey($privKey);
if ($success == false) {
print $cert->lastErrorText() . "\n";
exit;
}
$success = $http->SetSslClientCert($cert);
if ($success == false) {
print $http->lastErrorText() . "\n";
exit;
}
$req = new CkHttpRequest();
$req->put_HttpVerb('POST');
$req->put_Path('/oauth/v2/token');
$req->put_ContentType('application/x-www-form-urlencoded');
$req->AddParam('grant_type','client_credentials');
// Requested scopes in OAuth2 are typically SPACE separated.
$req->AddParam('scope','boleto-cobranca.read boleto-cobranca.write');
$req->AddHeader('accept','application/json');
$resp = new CkHttpResponse();
$success = $http->HttpReq('https://cdpj.partners.bancointer.com.br/oauth/v2/token',$req,$resp);
if ($success == false) {
print $http->lastErrorText() . "\n";
exit;
}
$jResp = new CkJsonObject();
$resp->GetBodyJson($jResp);
$jResp->put_EmitCompact(false);
print 'Response Body:' . "\n";
print $jResp->emit() . "\n";
$respStatusCode = $resp->get_StatusCode();
print 'Response Status Code = ' . $respStatusCode . "\n";
if ($respStatusCode >= 400) {
print 'Response Header:' . "\n";
print $resp->header() . "\n";
print 'Failed.' . "\n";
exit;
}
$success = $jResp->WriteFile('qa_data/tokens/banco_inter_client_credentials.json');
if ($success == false) {
print 'Failed to save JSON access token file.' . "\n";
exit;
}
print 'Success.' . "\n";
?>