贝宝 C# 商人-SDK-dotnet
Posted
技术标签:
【中文标题】贝宝 C# 商人-SDK-dotnet【英文标题】:PayPal C# merchant-sdk-dotnet 【发布时间】:2017-07-14 19:04:00 【问题描述】:我想通过 api 下载 PayPal 活动。 (即,只需获得一个月收款的报告)。
我们将 WooCommerce 与 PayPal ExpressCheckout 结合使用。它似乎使用了 NVP api。 (我尝试使用 REST API 并没有得到任何结果)。
我已经下载了 Merchant-sdk-dotnet 示例 (https://github.com/paypal/merchant-sdk-dotnet),但在运行它们时遇到了问题。我试图提取我需要的几部分并在控制台应用程序中实现它们(见下文)。 (VS2012 C#)
我正在使用上述 aspx 示例中的沙盒凭据(但也尝试了我们的实时/真实凭据)。
下面的代码总是导致 AckCodeType.FAILURE(并且没有事务)。
...
using PayPal.PayPalAPIInterfaceService;
using PayPal.PayPalAPIInterfaceService.Model;
namespace PayPalToDBMerch
class Program
static void Main(string[] args)
TransactionSearchRequestType request = new TransactionSearchRequestType();
TransactionSearchReq wrapper = new TransactionSearchReq();
wrapper.TransactionSearchRequest = request;
Dictionary<string, string> configurationMap = Configuration.GetAcctAndConfig();
PayPalAPIInterfaceServiceService service = new PayPalAPIInterfaceServiceService(configurationMap);
TransactionSearchResponseType transactionDetails = service.TransactionSearch(wrapper);
if (transactionDetails.Ack == AckCodeType.FAILURE)
Console.WriteLine("This is always the result."); //
else
Console.WriteLine("I never get here.");
感谢您的帮助。
【问题讨论】:
【参考方案1】:我发现在这种情况下使用 NVP api 是正确的。 我发现 Merchant-sdk-dotnet 示例 (https://github.com/paypal/merchant-sdk-dotnet) 适用于这种情况。 当我找到 .Errors 方法时它有所帮助:-)
if (transactionDetails.Ack == AckCodeType.FAILURE)
foreach (var e in transactionDetails.Errors)
Console.WriteLine(e.LongMessage); //
我需要包含一个 StartDate 参数值
request.StartDate = DateTime.Now.AddDays(-30).ToString("yyyy-MM-ddTHH:mm:ss");
【讨论】:
以上是关于贝宝 C# 商人-SDK-dotnet的主要内容,如果未能解决你的问题,请参考以下文章