Authentication
PayPal REST APIs use OAuth 2.0 access tokens to authenticate requests. Your access token authorizes you to use the PayPal REST API server.
To call a REST API in your integration, you'll need to exchange your client ID and client secret for an access token. You can find your client ID and client secret by following the instructions in Get started with PayPal APIs.
You can make the API call in any programming language. The following examples show you how to get your access token using cURL or Postman.
cURL
Copy the following code and modify it:
1curl -v -X POST "https://api-m.sandbox.paypal.com/v1/oauth2/token" \2 -u "CLIENT_ID:CLIENT_SECRET" \3 -H "Content-Type: application/x-www-form-urlencoded" \4 -d "grant_type=client_credentials"
- Change CLIENT_IDto your client ID.
- Change CLIENT_SECRETto your secret.
Note: Encode CLIENT_ID:CLIENT_SECRET in Base64 before sending it in the API call.Postman
In the Postman app, complete the following:
- Set the verb to POST.
- Enter https://api-m.sandbox.paypal.com/v1/oauth2/tokenas the request URL.
- Select the Authorization tab.
- From the TYPE list, select Basic Auth.
- In the Username field, enter your client ID.
- In the Password field, enter your secret.
- Select the Body tab.
- Select the x-www-form-urlencoded option.
- In the KEY field, enter grant_type.
- In the VALUE field, enter client_credentials.
- Select Send.
Step result
PayPal returns an access token and the number of seconds the access token is valid. When you make calls to a REST API, include the access token in the authorization header:-H Authorization: Bearer ACCESS-TOKEN. When your access token expires, call /v1/oauth2/token again to request a new access token.Sample response
1{2 "scope": "https://uri.paypal.com/services/invoicing https://uri.paypal.com/services/disputes/read-buyer https://uri.paypal.com/services/payments/realtimepayment https://uri.paypal.com/services/disputes/update-seller https://uri.paypal.com/services/payments/payment/authcapture openid https://uri.paypal.com/services/disputes/read-seller https://uri.paypal.com/services/payments/refund https://api-m.paypal.com/v1/vault/credit-card https://api-m.paypal.com/v1/payments/.* https://uri.paypal.com/payments/payouts https://api-m.paypal.com/v1/vault/credit-card/.* https://uri.paypal.com/services/subscriptions https://uri.paypal.com/services/applications/webhooks",3 "access_token": "A21AAFEpH4PsADK7qSS7pSRsgzfENtu-Q1ysgEDVDESseMHBYXVJYE8ovjj68elIDy8nF26AwPhfXTIeWAZHSLIsQkSYz9ifg",4 "token_type": "Bearer",5 "app_id": "APP-80W284485P519543T",6 "expires_in": 31668,7 "nonce": "2020-04-03T15:35:36ZaYZlGvEkV4yVSz8g6bAKFoGSEzuy3CQcz3ljhibkOHg"8}