Я установил PayPal Dotnet REST SDK 1.9.1 в тестовое приложение и все заработало нормально (никаких проблем).Но заметил, что конечная точка не указана (и мне не нужно было ее указывать), поэтому я предполагаю, что она где-то хранится ( paypal.dll ?).
Запуск кода SDKПример (взятый с сайта разработчиков PayPal), по-видимому, генерирует 3 ссылки автоматически.
Нужно ли беспокоиться о том, что URI где-то встроен в dll ?
Будет лиесть ли причина изменить его?
***** РЕДАКТИРОВАТЬ ******* Вот код, который я использую для получения APIContext - Кто-нибудь видит проблему с этим кодом?Независимо от того, что я добавляю для конечной точки (или режима, или «что у тебя есть»), SDK всегда использует конечную точку песочницы.Настоящее безумие здесь в том, что он принимает LIVE ClientId и Secret (поэтому он точно подключается к конечной точке LIVE), но любые дальнейшие запросы ВСЕГДА направляются в конечную точку песочницы.ПРИМЕЧАНИЕ. Эта функция вызывается только один раз, а контекст просто передается другим функциям / вызовам / тому, что у вас есть.Я даже настроил его так, чтобы он передавался по ссылке без радости.
public static PayPal.Api.APIContext GetPaypalRestAPIContext()
{
try
{
Dictionary<string, string> config = null;
if (WebAppSettings.PaypalMode.ToLower != "live")
{
config = new Dictionary<string, string>()
{
{"mode", WebAppSettings.PaypalMode.ToLower},
{"clientId", WebAppSettings.PaypalTestClientId},
{"clientSecret", WebAppSettings.PaypalTestClientSecret},
{"endpoint", "https://api.sandbox.paypal.com/"}
};
}
else
{
config = new Dictionary<string, string>()
{
{"mode", WebAppSettings.PaypalMode.ToLower},
{"clientId", WebAppSettings.PaypalClientId},
{"clientSecret", WebAppSettings.PaypalClientSecret},
{"endpoint", "https://api.paypal.com/"}
};
}
string accessToken = (new PayPal.Api.OAuthTokenCredential(config)).GetAccessToken();
PayPal.Api.APIContext apiContext = new PayPal.Api.APIContext(accessToken);
return apiContext;
}
catch (Exception ex)
{
EventLog.LogEvent("Paypal APIContext", "PaypalRestAPIContext has failed.", EventLogSeverity.Warning);
return null;
}
}
Мне кажется, что я что-то здесь упускаю или схожу с ума.