i want to send a post request using node-fetch with a body payload encoded in the x-www-form. I tried this code but unfortunately it doesnt work:
paypalSignIn = function(){
var username = process.env.PAYPALID;
var password = process.env.PAYPALSECRET;
var authContent = 'Basic '+base64.encode(username + ":" + password);
fetch('https://api.sandbox.paypal.com/v1/oauth2/token', { method: 'POST',
headers: {
'Accept': 'application/json',
'Accept-Language' :"en_US",
'Authorization': authContent,
'Content-Type': 'application/x-www-form-urlencoded'
},
body: 'grant_type=client_credentials' })
.then(res => res.json()) // expecting a json response
.then(json => console.log(json));
}
I’m not sure if this way is possible but i need to use this standard for die paypal api.
I’m getting statu code 400 with error
grant_type is null
Thx
2
Answers
I don’t know if this is the only error, but at the very least you need a space between the word
Basic
and the encoded username/password.Next time you ask a question, also post what your script returned. I’m guessing it was a 401 error in this case.
I used the PayPal sandbox today, here is how I managed to get my access token and a successful response (and also answering the OP’s question about sending
application/x-www-form-urlencoded
POST requests with data) =>I did it with
node-fetch
but the plain fetch API should work the same.