All checks were successful
Build, Push and Deploy / build-and-push (push) Successful in 3m3s
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 16s
Build, Push and Deploy / deploy-staging (push) Successful in 32s
Build, Push and Deploy / deploy-production (push) Has been skipped
Build, Push and Deploy / cleanup (push) Successful in 1s
49 lines
1.5 KiB
PHP
49 lines
1.5 KiB
PHP
<?php
|
||
/**
|
||
* PayPal REST Token Request
|
||
*/
|
||
|
||
namespace Omnipay\PayPal\Message;
|
||
|
||
/**
|
||
* PayPal REST Token Request
|
||
*
|
||
* With each API call, you’ll need to set request headers, including
|
||
* an OAuth 2.0 access token. Get an access token by using the OAuth
|
||
* 2.0 client_credentials token grant type with your clientId:secret
|
||
* as your Basic Auth credentials.
|
||
*
|
||
* @link https://developer.paypal.com/docs/integration/direct/make-your-first-call/
|
||
* @link https://developer.paypal.com/docs/api/#authentication--headers
|
||
*/
|
||
class RestTokenRequest extends AbstractRestRequest
|
||
{
|
||
public function getData()
|
||
{
|
||
return array('grant_type' => 'client_credentials');
|
||
}
|
||
|
||
protected function getEndpoint()
|
||
{
|
||
return parent::getEndpoint() . '/oauth2/token';
|
||
}
|
||
|
||
public function sendData($data)
|
||
{
|
||
$body = $data ? http_build_query($data, '', '&') : null;
|
||
$httpResponse = $this->httpClient->request(
|
||
$this->getHttpMethod(),
|
||
$this->getEndpoint(),
|
||
array(
|
||
'Accept' => 'application/json',
|
||
'Authorization' => 'Basic ' . base64_encode("{$this->getClientId()}:{$this->getSecret()}"),
|
||
),
|
||
$body
|
||
);
|
||
// Empty response body should be parsed also as and empty array
|
||
$body = (string) $httpResponse->getBody()->getContents();
|
||
$jsonToArrayResponse = !empty($body) ? json_decode($body, true) : array();
|
||
return $this->response = new RestResponse($this, $jsonToArrayResponse, $httpResponse->getStatusCode());
|
||
}
|
||
}
|