PayPal APIs use REST, authenticate with OAuth 2.0 access tokens, and return HTTP response codes and responses encoded in JSON. You can test US integrations with a PayPal Developer account.
You can try our REST APIs in Postman without a PayPal Developer account. Learn more in our Postman guide.
Explore our REST API descriptions, generate code for your API clients, and import OpenAPI documents into compatible third-party tools.
1. Get client ID and client secretPayPal integrations use a client ID and client secret to authenticate API calls:
Here's how to get your client ID and client secret:
Exchange your client ID and client secret for an access token. The access token authenticates your app when calling PayPal REST APIs. You can call the PayPal OAuth API in any language. The following examples show you how to get your access token using cURL or Postman:
cURLModify the code1curl -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"
CLIENT_ID
to your client ID.CLIENT_SECRET
to your client secret.Sample responseNote: Encode
CLIENT_ID:CLIENT_SECRET
in Base64 before sending it in the API call.
PayPal returns an access token and the number of seconds the access token is valid.
Make API calls1{
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}
When you make API calls, replace ACCESS-TOKEN
with your 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.
The PayPal sandbox is a test environment that mirrors real-world transactions. By default, PayPal developer accounts have 2 sandbox accounts: a personal account for buying and a business account for selling. You'll get the login information for both accounts. Watch sandbox money move between accounts to test API calls.
Take the following steps to get sandbox login information for business and personal accounts:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4