【发布时间】:2018-11-02 23:59:07
【问题描述】:
我将 PayPal Dotnet REST SDK 1.9.1 安装到一个测试应用程序中,一切正常(完全没有问题)。但注意到没有指定端点(我也不需要指定它),所以我认为它存储在某个地方(paypal.dll?)。
运行 SDK 代码示例(取自 PayPal 的开发者网站)似乎会自动生成 3 个链接。
我是否需要担心 URI 嵌入在某处的 dll 中?
有什么理由改变它吗?
***** 编辑 ******* 这是我用来获取 APIContext 的代码 - 有人看到这段代码有问题吗?无论我为端点(或模式,或你有什么)输入什么,SDK 总是使用沙盒端点。这里真正的疯狂之处在于它接受了 LIVE ClientId 和 Secret(因此它肯定连接到 LIVE 端点),但任何进一步的请求总是发送到沙盒端点。注意:这个函数只被调用一次,上下文只是传递给其他函数/调用/what-have-you。我什至将其设置为不高兴地通过引用传递。
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;
}
}
我觉得我在这里错过了什么或失去了理智。
【问题讨论】:
-
也许我的意思是说 API 端点在哪里?我该如何改变它?我真的,真的,真的,需要对 PayPal 的 REST API 进行负面测试(他们没有关于如何在任何地方进行更改的信息,只是需要更改),但不知道在哪里进行更改。应用程序配置?如果有,如何指定?
标签: asp.net paypal paypal-rest-sdk