У меня возникают проблемы с настройкой партнерских рефералов при вызове PayPal API с помощью Node.
Каждый раз, когда я пытаюсь вызвать API, я получаю следующую ошибку:
error: "invalid_token" error_description: "The token passed in was not found in the system"
Согласно документация URL для звонка: https://api-m.sandbox.paypal.com/v2/customer/partner-referrals
Глядя на URL-адрес и сообщение об ошибке, я полагаю, что получаю эту ошибку, потому что использую рабочие учетные данные, а не песочницу. Однако я не могу найти документацию, показывающую производственный URL-адрес для этого.
Правильно ли я считаю, что это URL-адрес песочницы? Каков производственный URL, если да?
Я следил за контрольный список, но, похоже, не могу заставить эту работу работать.
Вот мой код:
getAuthToken = async () => {
const clientIdAndSecret = "mylongsecret";
const authUrl = "https://api-m.paypal.com/v1/oauth2/token";
const base64 = Buffer.from(clientIdAndSecret).toString('base64')
const response = await fetch(authUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Accept-Language': 'en_US',
'Authorization': `Basic ${base64}`,
},
body: 'grant_type=client_credentials'
});
const data = await response.json();
return data;
}
setUpMerchant = async () => {
let authData = await this.getAuthToken();
const partnerUrl = "https://api-m.sandbox.paypal.com/v2/customer/partner-referrals";
const request = await fetch(partnerUrl, {
method: 'get',
headers: {
'Authorization': 'Bearer '+authData.access_token,
'Content-Type': 'application/json'
},
});
const partnerData = await request.json();
return partnerData;
}
Обновлено: я обнаружил, что проблема заключалась в том, что я выполнял запрос GET
вместо POST
. Принятый ответ - правильный URL
According to the documentation the URL to call is https://api-m.sandbox.paypal.com/v2/customer/partner-referrals
Рабочий URL не имеет sandbox.
в домене.