/home/desid573/public_html/payment/xero-2
Edit: /home/desid573/public_html/payment/xero-2/authorizedResource.php (1792B)
extend to your DB of choice
$storage = new StorageClass();
$xeroTenantId = (string)$storage->getSession()['tenant_id'];
if ($storage->getHasExpired()) {
$provider = new \League\OAuth2\Client\Provider\GenericProvider([
'clientId' => '792F5D6E7E10404EA0BD0DA3CFF525BC',
'clientSecret' => '_w1yk8UQTp5QV9CzzDD4G3daZXjANQ40hQfyUZf91jUxemGF',
'redirectUri' => 'https://desidrivers.com.au/payment/xero-2/callback.php',
'urlAuthorize' => 'https://login.xero.com/identity/connect/authorize',
'urlAccessToken' => 'https://identity.xero.com/connect/token',
'urlResourceOwnerDetails' => 'https://api.xero.com/api.xro/2.0/Organisation'
]);
$newAccessToken = $provider->getAccessToken('refresh_token', [
'refresh_token' => $storage->getRefreshToken()
]);
// Save my token, expiration and refresh token
$storage->setToken(
$newAccessToken->getToken(),
$newAccessToken->getExpires(),
$xeroTenantId,
$newAccessToken->getRefreshToken(),
$newAccessToken->getValues()["id_token"]
);
}
error_log((string)$storage->getSession()['token']);
$config = XeroAPI\XeroPHP\Configuration::getDefaultConfiguration()->setAccessToken( (string)$storage->getSession()['token'] );
$config->setHost("https://api.xero.com/api.xro/2.0");
$apiInstance = new XeroAPI\XeroPHP\Api\AccountingApi(
new GuzzleHttp\Client(),
$config
);
// Get Organisation details
$apiResponse = $apiInstance->getOrganisations($xeroTenantId);
var_dump($apiResponse);
?>