How to get PayPal REST API credentials and Braintree keys for Zendesk
By Jake Marsh · Updated
To connect PayPal to Zendesk, sign in to developer.paypal.com with your business account, open Apps & Credentials, choose Live, click Create App and name it "Zendesk". Keep the payments feature, turn on Transaction search, Customer disputes and Subscriptions, leave Payouts off, and copy the client id and secret into Pursewell's settings. For Braintree, generate an API key as a non-admin user and paste the public key, private key and merchant id.
Steps: PayPal
- Sign in to developer.paypal.com with your PayPal business account and open Apps & Credentials.
- Choose Live, or Sandbox to test, and click Create App. Name it "Zendesk" and keep it for Pursewell only.
- Set the features. Keep the payments feature. Turn on Transaction search (needed to find payments), Customer disputes and Subscriptions if you use them.
- Leave these off: Payouts, Invoicing and Log in with PayPal. Pursewell refuses an app that can send payouts or credits to new recipients.
- Copy the client id and secret into Pursewell's settings. Turn on PayPal sandbox only for sandbox credentials.
PayPal's REST API authentication guide explains client ids and secrets.
Steps: Braintree
- Add a user. In the Braintree Control Panel, open Settings > Team and add a user for Zendesk.
- Give it a custom role that can view transactions and disputes, refund and void transactions, and view and manage subscriptions.
- Sign in as that user, open Settings > API and generate a new API key.
- Copy the public key, private key and merchant id into Pursewell's settings. Turn on Braintree sandbox only for sandbox keys.
Pursewell refuses the keys of a Braintree account admin.
Which PayPal features turn on what
| PayPal app feature | What Pursewell shows or does |
|---|---|
| Payments (keep on) | Refunds |
| Transaction search | Finds the requester's payments by email |
| Customer disputes | Disputes with their respond-by date |
| Subscriptions | Subscriptions, cancel, suspend, reactivate, charge a past-due balance |
| Payouts | Must be off, or Pursewell refuses the app |
How the keys are kept
Your PayPal secret and Braintree private key are Zendesk secure settings: Zendesk adds them to requests on its own servers and only sends them to PayPal's and Braintree's API hosts. PayPal's sign-in returns a token that lasts up to 9 hours. It stays in the browser memory of each agent allowed to see payments while Pursewell is open, and Pursewell checks every token's permissions and refuses one that can send payouts or credits.
Errors and fixes
| Message | Fix |
|---|---|
| Pursewell will not use this PayPal app | The app has Payouts or non-referenced credit. Create a separate PayPal app for Zendesk. |
| PayPal did not accept the client id and secret | Check the sandbox switch matches the credentials, or paste a regenerated secret. |
| Transaction search is off for this PayPal app | Turn on Transaction search under the app's Features. |
| Pursewell will not use API keys of a Braintree account admin | Use keys from a non-admin Braintree user. |
| The Braintree user behind these API keys is not allowed to do that | Add the permission to that user's role in Braintree. |
What it costs
Pursewell is $49 a month for up to 3 agents and admins, $169 a month for 4 to 11, or $25 per agent per month for 12 or more, billed monthly by Zendesk with a 14-day free trial. The Pursewell documentation has every setting.
Pursewell
PayPal and Braintree sidebar: payments on the ticket, refunds, dispute deadlines, subscriptions. From $49 a month per Zendesk account.
Questions
Where do I find my PayPal API credentials?
At developer.paypal.com, under Apps & Credentials. Open the app you created for Zendesk to see its client id and secret.
Can I use the PayPal app my website checkout uses?
Use a separate app for Zendesk with only the features above. Pursewell refuses any app that can send payouts.
Do I need both PayPal and Braintree?
No. Set up PayPal, Braintree or both.
Can I test with sandbox credentials first?
Yes. Turn on PayPal sandbox or Braintree sandbox and paste sandbox credentials. Switch them off when you paste live ones.
More Pursewell guides
- How to see PayPal dispute deadlines on Zendesk tickets
- How to refund a PayPal payment from a Zendesk ticket