首先,这涉及桌面应用程序而不是ASP .Net应用程序。
我已经为我的项目添加了一个Web引用,并构建了各种数据对象,如PayerInfo,Address和CreditCard。问题是,我如何实际调用DoDirectPaymentRequest并传入对象?根据文档,我使用CallerService和ProfileFactory对象,但我没有这些可用。
我是如何从EXE调用API的?
此致
答案 0 :(得分:0)
在项目中使用服务参考而不是Web参考。 您应该创建 PayPalAPIInterfaceClient 或 PayPalAPIAAInterfaceClient 的实例。之后,您将能够调用DoDirectPayment。
示例:
DoDirectPaymentResponseType result;
using (_client = new PayPalAPIAAInterfaceClient())
{
DoDirectPaymentRequestType pp_Request = new DoDirectPaymentRequestType();
pp_Request.Version = _version;
pp_Request.DoDirectPaymentRequestDetails = new DoDirectPaymentRequestDetailsType();
pp_Request.DoDirectPaymentRequestDetails.IPAddress = ipAddress;
pp_Request.DoDirectPaymentRequestDetails.CreditCard = new CreditCardDetailsType();
pp_Request.DoDirectPaymentRequestDetails.CreditCard.CreditCardNumber = CCNum;
// ..FILL DATA
// NOTE: The only currency supported by the Direct Payment API at this time is US dollars (USD).
pp_Request.DoDirectPaymentRequestDetails.PaymentDetails.OrderTotal.currencyID = CurrencyCodeType.USD;
pp_Request.DoDirectPaymentRequestDetails.PaymentDetails.OrderTotal.Value = amountOfUSD;
var dp = new DoDirectPaymentReq
{
DoDirectPaymentRequest = pp_Request
};
var credentials = new CustomSecurityHeaderType
{
Credentials = new UserIdPasswordType
{
Username = _username,
Password = _password,
Signature = _signature,
AppId = ApiId
}
};
result = _client.DoDirectPayment(ref credentials, dp);
}