This package provides Paypal OAuth 2.0 support for the PHP League's OAuth 2.0 Client.
To install, use composer:
composer require stevenmaguire/oauth2-paypal
Usage is the same as The League's OAuth client, using \Stevenmaguire\OAuth2\Client\Provider\Paypal
as the provider.
$provider = new Stevenmaguire\OAuth2\Client\Provider\Paypal([
'clientId' => '{paypal-client-id}',
'clientSecret' => '{paypal-client-secret}',
'redirectUri' => 'https://example.com/callback-url',
'isSandbox' => true, // Optional, defaults to false. When true, client uses sandbox urls.
]);
For further usage of this package please refer to the core package documentation on "Authorization Code Grant".
$options = [
'scope' => ['openid', 'profile', 'email', 'phone', 'address']
];
$authorizationUrl = $provider->getAuthorizationUrl($options);
The value passed must always include
openid
at minimum
You can review a full list of scopes on PayPal's website.
$provider = new Stevenmaguire\OAuth2\Client\Provider\Paypal([
'clientId' => '{paypal-client-id}',
'clientSecret' => '{paypal-client-secret}',
'redirectUri' => 'https://example.com/callback-url'
]);
$existingAccessToken = getAccessTokenFromYourDataStore();
if ($existingAccessToken->hasExpired()) {
$newAccessToken = $provider->getAccessToken('refresh_token', [
'refresh_token' => $existingAccessToken->getRefreshToken()
]);
// Purge old access token and store new access token to your data store.
}
For further usage of this package please refer to the core package documentation on "Refreshing a Token".
$ ./vendor/bin/phpunit
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.