首先,这与桌面应用程序而不是 ASP .Net 应用程序有关。
我为我的项目添加了一个 Web 引用,并构建了各种数据对象,例如 PayerInfo、Address 和 CreditCard。问题是,我如何实际调用 DoDirectPaymentRequest 并传入对象?根据文档,我使用 CallerService 和 ProfileFactory 对象,但我没有这些可用。
任何想法我如何从 EXE 调用 API?
问候
在您的项目中使用服务参考而不是 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);
}