Reputation: 533
I'm getting a 401 error when I try to create a PayPal invoice. I'm using the nodejs REST API:
https://github.com/paypal/rest-api-sdk-nodejs
I did a quick test with the create invoice sample, changing the id and secret in the configure.js to those my app in sandbox. I get the 401 when this happens as well. The app is setup to allow invoice actions (it's in the scope parameter when I request the token), is there something else I need to enable?
I contacted PayPal technical support, they said to contact PayPal MTS. When I contacted them they said to contact technical support... I'm assuming it's something account related as that's the only thing I changed in the sample.
Edit 2014-09-17
I can get a token with curl:
{"scope":"https://uri.paypal.com/services/applications/webhooks https://uri.paypal.com/services/invoicing openid https://api.paypal.com/v1/payments/.* https://api.paypal.com/v1/vault/credit-card/.* https://api.paypal.com/v1/vault/credit-card","access_token":"A015QDaSWWVrhK.FNSZVZd-vDGflSm.g1H.4PnDeXaYDFqo","token_type":"Bearer","app_id":"APP-80W284485P519543T","expires_in":28800}
I'm using the samples from github (configure.js and invoice/create.js specifically) the only thing I changed was the client and secret in configure.
Upvotes: 3
Views: 1153
Reputation: 533
The e-mail in the request was the issue. It worked with the sample because it was the e-mail associated with the app. Changing the config id and secret to mine wasn't enough, the e-mail needed to be changed to mine as well.
Upvotes: 7
Reputation: 21
Just spent a couple of hours trying to solve this very issue. The answer Dave gave above led me on the right track.
The "merchant e-mail" in the request has to be the Paypal Sandbox Developer Account associated with the REST API app in question. I hope this helps someone.
Below is a screenshot highlighting the property in Visual Studios and PostMan.
Upvotes: 2