1

まず第一に、これは ASP .Net アプリケーションではなく、デスクトップ アプリケーションに関連しています。

プロジェクトに Web 参照を追加し、PayerInfo、Address、CreditCard などのさまざまなデータ オブジェクトを作成しました。問題は、DoDirectPaymentRequest を実際に呼び出してオブジェクトを渡すにはどうすればよいかということです。ドキュメントによると、私は CallerService と ProfileFactory オブジェクトを使用していますが、これらを利用できません。

EXE から API を呼び出す方法はありますか?

よろしく

4

1 に答える 1

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);
        }
于 2012-10-31T12:11:01.550 に答える