Есть ли способ добавить поля отслеживания информации от имени других клиентов, используя новый REST API? Если нет, могу ли я по-прежнему создавать приложения PayPal, которые используют старый API или любым другим способом?
Есть старый Вопрос , который демонстрирует, что я пытаюсь сделать.
Следуя этой странице документации Мне удалось обновить информацию в моей учетной записи в песочнице, используя следующий код C# ...
private static string SendRequest()
{
var client = new HttpClient();
var end_point = "https://api.sandbox.paypal.com/v1/shipping/trackers-batch";
try
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
var requestMessage = new HttpRequestMessage
{
RequestUri = new Uri(end_point),
Method = HttpMethod.Post,
};
string clientId = "";
string secret = "";
requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Basic",
Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes($"{clientId}:{secret}")));
string body = File.ReadAllText("data.json");
requestMessage.Content = new StringContent(body, Encoding.UTF8, "application/json");
var x = client.SendAsync(requestMessage).Result;
string responseStr = x.Content.ReadAsStringAsync().Result;
return responseStr;
}
catch (Exception exp)
{
Debug.Print(exp.Message);
return null;
}
finally
{
client.Dispose();
}
}
. json
{
"trackers": [
{
"transaction_id": "04YE27.....",
"tracking_number": "443844....",
"status": "SHIPPED",
"carrier": "FEDEX"
}
]
}
Но не удается обновить данные другой учетной записи SandBox, даже если я предоставил разрешения для этой учетной записи в приложении. Это ответ сервера:
{
"tracker_identifiers":[
],
"errors":[
{
"name":"NOT_AUTHORIZED",
"message":"Authorization failed due to insufficient permissions",
"details":[
{
"field":"/trackers/1/transaction_id",
"value":"04YE27.....",
"location":"body",
"issue":"USER_NOT_AUTHORIZED",
"description":"You are not authorized to add or modify tracking number for this transaction"
}
],
"links":[
]
}
],
"links":[
{
"href":"https://api.sandbox.paypal.com/v1/shipping/trackers-batch",
"rel":"self",
"method":"POST",
"encType":"application/json"
}
]
}
Я могу попросить пользователей предоставить необходимые разрешения моему приложению. но я не могу попросить всех создать приложение и дать мне свой идентификатор клиента и секрет.