Ejemplo n.º 1
0
        public void PayPalUtilityParsesSetExpressCheckout()
        {
            string      accesstoken;
            PayPalError error;

            var methodCompletedOK = PayPalUtility.TryParseAccessToken(
                Resource.SetExpressCheckout, out accesstoken, out error);

            Assert.IsTrue(methodCompletedOK);
            Assert.IsNull(error);

            Assert.AreEqual("EC-8JV062580S765292N", accesstoken);
        }
Ejemplo n.º 2
0
        public void PayPalUtilityParsesDoExpressCheckoutPayment()
        {
            TransactionResults transactionResults;
            PayPalError        error;

            var methodCompletedOK = PayPalUtility.TryParseTransactionResults(
                Resource.DoExpressCheckoutPayment, out transactionResults,
                out error);

            Assert.IsTrue(methodCompletedOK);
            Assert.IsNull(error);

            Assert.AreEqual("EC-5ED70123NJ325433P", transactionResults.Token);
            Assert.AreEqual("false",
                            transactionResults.SuccessPageRedirectRequested);
            Assert.AreEqual("2015-09-17T11:32:14Z", transactionResults.Timestamp);
            Assert.AreEqual("da59801663304", transactionResults.CorrelationID);
            Assert.AreEqual("Success", transactionResults.Ack);
            Assert.AreEqual("108.0", transactionResults.Version);
            Assert.AreEqual("000000", transactionResults.Build);
            Assert.AreEqual("false", transactionResults.InsuranceOptionSelected);
            Assert.AreEqual("false", transactionResults.ShippingOptionIsDefault);
            Assert.AreEqual("6YX65164PA326324T",
                            transactionResults.PaymentInfoTransactionID);
            Assert.AreEqual("expresscheckout",
                            transactionResults.PaymentInfoTransactionType);
            Assert.AreEqual("instant", transactionResults.PaymentInfoPaymentType);
            Assert.AreEqual("2015-09-17T11:32:14Z",
                            transactionResults.PaymentInfoOrderTime);
            Assert.AreEqual("19.95", transactionResults.PaymentInfoAmt);
            Assert.AreEqual("0.93", transactionResults.PaymentInfoFeeAmt);
            Assert.AreEqual("0.00", transactionResults.PaymentInfoTaxAmt);
            Assert.AreEqual("EUR", transactionResults.PaymentInfoCurrencyCode);
            Assert.AreEqual("Completed",
                            transactionResults.PaymentInfoPaymentStatus);
            Assert.AreEqual("None", transactionResults.PaymentInfoPendingReason);
            Assert.AreEqual("None", transactionResults.PaymentInfoReasonCode);
            Assert.AreEqual("Ineligible",
                            transactionResults.PaymentInfoProtectionEligibility);
            Assert.AreEqual("None",
                            transactionResults.PaymentInfoProtectionEligibilityType);
            Assert.AreEqual("NJ9W2NABYSKZ6",
                            transactionResults.PaymentInfoSecureMerchantAccountID);
            Assert.AreEqual("0", transactionResults.PaymentInfoErrorCode);
            Assert.AreEqual("Success", transactionResults.PaymentInfoAck);
        }
Ejemplo n.º 3
0
        public void PayPalUtilityParsesErrors()
        {
            string      accesstoken;
            PayPalError error;

            var methodCompletedOK = PayPalUtility.TryParseAccessToken(
                Resource.ErrorResponse, out accesstoken, out error);

            Assert.IsFalse(methodCompletedOK);
            Assert.IsNull(accesstoken);

            Assert.AreEqual("2015-09-02T16:19:49Z", error.Timestamp);
            Assert.AreEqual("d594df3b6b673", error.CorrelationID);
            Assert.AreEqual("Failure", error.Ack);
            Assert.AreEqual("10002", error.ErrorCode);
            Assert.AreEqual("Security error", error.ShortMessage);
            Assert.AreEqual("Security header is not valid", error.LongMessage);
            Assert.AreEqual("Error", error.SeverityCode);
            Assert.AreEqual("000000", error.Build);
            Assert.AreEqual("78", error.Version);
        }
Ejemplo n.º 4
0
        public void PayPalUtilityParsesGetExpressCheckoutDetails()
        {
            CustomerDetails customerDetails;
            PayPalError     error;

            var methodCompletedOK = PayPalUtility.TryParseCustomerDetails(
                Resource.CustomerDetails, out customerDetails, out error);

            Assert.IsTrue(methodCompletedOK);
            Assert.IsNull(error);

            Assert.AreEqual("EC-080143372V8487112", customerDetails.AccessToken);
            Assert.AreEqual("0", customerDetails.BillingAgreementAcceptedStatus);
            Assert.AreEqual("PaymentActionNotInitiated",
                            customerDetails.CheckoutStatus);
            Assert.AreEqual("2015-08-31T11:07:13Z", customerDetails.TimeStamp);
            Assert.AreEqual("cdb26170126a4", customerDetails.CorrelationID);
            Assert.AreEqual("Success", customerDetails.Ack);
            Assert.AreEqual("93", customerDetails.Version);
            Assert.AreEqual("000000", customerDetails.Build);
            Assert.AreEqual("*****@*****.**",
                            customerDetails.Email);
            Assert.AreEqual("UPMHHXJ72R4EG", customerDetails.PayerID);
            Assert.AreEqual("verified", customerDetails.PayerStatus);
            Assert.AreEqual("test", customerDetails.FirstName);
            Assert.AreEqual("buyer", customerDetails.LastName);
            Assert.AreEqual("US", customerDetails.CountryCode);
            Assert.AreEqual("test buyer", customerDetails.ShipToName);
            Assert.AreEqual("1 Main St", customerDetails.ShipToStreet);
            Assert.AreEqual("San Jose", customerDetails.ShipToCity);
            Assert.AreEqual("CA", customerDetails.ShipToState);
            Assert.AreEqual("95131", customerDetails.ShipToZip);
            Assert.AreEqual("US", customerDetails.ShipToCountryCode);
            Assert.AreEqual("United States", customerDetails.ShipToCountryName);
            Assert.AreEqual("Confirmed", customerDetails.AddressStatus);
            Assert.AreEqual("USD", customerDetails.CurrencyCode);
            Assert.AreEqual("19.00", customerDetails.Amt);
            Assert.AreEqual("0.00", customerDetails.ShippingAmt);
            Assert.AreEqual("0.00", customerDetails.HandlingAmt);
            Assert.AreEqual("0.00", customerDetails.TaxAmt);
            Assert.AreEqual("0.00", customerDetails.InsuranceAmt);
            Assert.AreEqual("USD", customerDetails.PaymentRequestCurrencyCode);
            Assert.AreEqual("19.00", customerDetails.PaymentRequestAmt);
            Assert.AreEqual("0.00", customerDetails.PaymentRequestShippingAmt);
            Assert.AreEqual("0.00", customerDetails.PaymentRequestHandlingAmt);
            Assert.AreEqual("0.00", customerDetails.PaymentRequestTaxAmt);
            Assert.AreEqual("0.00", customerDetails.PaymentRequestInsuranceAmt);
            Assert.AreEqual("0.00", customerDetails.PaymentRequestShipDiscAmt);
            Assert.AreEqual("false",
                            customerDetails.PaymentRequestInsuranceOptionOffered);
            Assert.AreEqual("test buyer",
                            customerDetails.PaymentRequestShipToName);
            Assert.AreEqual("1 Main St",
                            customerDetails.PaymentRequestShipToStreet);
            Assert.AreEqual("San Jose", customerDetails.PaymentRequestShipToCity);
            Assert.AreEqual("CA", customerDetails.PaymentRequestShipToState);
            Assert.AreEqual("95131", customerDetails.PaymentRequestShipToZip);
            Assert.AreEqual("US",
                            customerDetails.PaymentRequestShipToCountryCode);
            Assert.AreEqual("United States",
                            customerDetails.PaymentRequestShipToCountryName);
            Assert.AreEqual("Confirmed", customerDetails.AddressStatus);
            Assert.AreEqual("0", customerDetails.PaymentRequestInfoErrorCode);
        }
Ejemplo n.º 5
0
        private static void Main(string[] args)
        {
            Console.Write("Press the <return> key to run...");
            Console.ReadLine();

            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("Executing SETEXPRESSCHECKOUT...");
            Console.ResetColor();

            try {
                var user      = ConfigurationManager.AppSettings["User"];
                var password  = ConfigurationManager.AppSettings["Password"];
                var signature = ConfigurationManager.AppSettings["Signature"];
                var subject   = ConfigurationManager.AppSettings["Subject"];

                var payPalAdapter = new PayPalAdapter();

                var setExpresscheckout =
                    payPalAdapter.SetExpressCheckout(
                        new SetExpressCheckoutPayload {
                    User                      = user,
                    Password                  = password,
                    Signature                 = signature,
                    Version                   = "108.0",
                    Amount                    = "19.95",
                    Subject                   = subject,
                    LocaleCode                = "en-IE",
                    CurrencyCode              = "EUR",
                    CancelUrl                 = "http://www.example.com/cancel.html",
                    ReturnUrl                 = "http://www.example.com/success.html",
                    PaymentRequestName        = "TEST",
                    PaymentRequestDescription = "TEST BOOKING"
                },
                        Encoding.UTF8,
                        ConfigurationManager.AppSettings["ExpressCheckoutURI"]);

                string      accessToken;
                PayPalError payPalError;

                var ok = PayPalUtility.TryParseAccessToken(setExpresscheckout,
                                                           out accessToken, out payPalError);

                if (ok)
                {
                    Console.Write("SETEXPRESSCHECKOUT: ");
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.Write("OK");
                    Console.ResetColor();

                    Console.WriteLine();
                    Console.Write("PayPal Access Token: ");
                    Console.ForegroundColor = ConsoleColor.DarkGreen;
                    Console.Write(accessToken);

                    Console.ResetColor();
                    Console.WriteLine();
                    Console.WriteLine();
                }
                else
                {
                    Console.Write("SETEXPRESSCHECKOUT: ");
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.Write("FAIL");
                    Console.ResetColor();

                    Console.WriteLine();
                    Console.Write("PayPal Short Error Message: ");
                    Console.ForegroundColor = ConsoleColor.DarkRed;
                    Console.Write(payPalError.LongMessage);

                    Console.ResetColor();
                    Console.WriteLine();
                    Console.WriteLine();
                    Console.WriteLine("Press any key to quit...");
                    Console.ReadLine();
                    return;
                }

                Console.WriteLine(
                    "Press any key to invoke GETEXPRESSCHECKOUTDETAILS...");
                Console.ReadKey();
                Console.Write("Enter PayerID: ");
                var payerID = Console.ReadLine();

                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine("Executing GETEXPRESSCHECKOUTDETAILS...");
                Console.ResetColor();

                #region GETEXPRESSCHECKOUTDETAILS

                var getExpressCheckoutDetails = payPalAdapter
                                                .GetExpressCheckoutDetails(
                    new GetExpressCheckoutDetailsPayload {
                    User        = user,
                    Password    = password,
                    Signature   = signature,
                    Version     = "108.0",
                    AccessToken = accessToken,
                    Subject     = subject,
                    PayerID     = payerID
                },
                    ConfigurationManager.AppSettings["ExpressCheckoutURI"]);

                CustomerDetails customerDetails;

                ok = PayPalUtility.TryParseCustomerDetails(
                    getExpressCheckoutDetails, out customerDetails,
                    out payPalError);

                if (ok)
                {
                    Console.Write("GETEXPRESSCHECKOUTDETAILS: ");
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.Write("OK");
                    Console.ResetColor();

                    Console.WriteLine();
                    Console.Write("PayPal Acknowledgment: ");
                    Console.ForegroundColor = ConsoleColor.DarkGreen;
                    Console.Write(customerDetails.Ack);
                }
                else
                {
                    Console.Write("GETEXPRESSCHECKOUTDETAILS: ");
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.Write("FAIL");
                    Console.ResetColor();

                    Console.WriteLine();
                    Console.Write("PayPal Short Error Message: ");
                    Console.ForegroundColor = ConsoleColor.DarkRed;
                    Console.Write(payPalError.LongMessage);
                }

                Console.ResetColor();
                Console.WriteLine();
                Console.WriteLine();

                #endregion

                Console.Write(
                    "Press any key to invoke DOEXPRESSCHECKOUTPAYMENT...");
                Console.ReadLine();

                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine("Executing DOEXPRESSCHECKOUTPAYMENT...");
                Console.ResetColor();

                #region DOEXPRESSCHECKOUTPAYMENT

                var doExpressCheckoutPayment = payPalAdapter
                                               .DoExpressCheckoutPayment(
                    new DoExpressCheckoutPaymentPayload {
                    User                       = user,
                    Password                   = password,
                    Signature                  = signature,
                    Version                    = "108.0",
                    AccessToken                = accessToken,
                    Subject                    = subject,
                    PayerID                    = payerID,
                    PaymentRequestAmt          = "19.95",
                    PaymentRequestCurrencyCode = "EUR"
                },
                    ConfigurationManager.AppSettings["ExpressCheckoutURI"]);

                TransactionResults transactionResults;

                ok = PayPalUtility.TryParseTransactionResults(
                    doExpressCheckoutPayment, out transactionResults,
                    out payPalError);

                if (ok)
                {
                    Console.Write("DOEXPRESSCHECKOUTPAYMENT: ");
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.Write("OK");
                    Console.ResetColor();

                    Console.WriteLine();
                    Console.Write("PayPal Acknowledgment: ");
                    Console.ForegroundColor = ConsoleColor.DarkGreen;
                    Console.Write(transactionResults.PaymentInfoPaymentStatus);
                }
                else
                {
                    Console.Write("DOEXPRESSCHECKOUTPAYMENT: ");
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.Write("FAIL");
                    Console.ResetColor();

                    Console.WriteLine();
                    Console.Write("PayPal Short Error Message: ");
                    Console.ForegroundColor = ConsoleColor.DarkRed;
                    Console.Write(payPalError.LongMessage);
                }

                Console.ResetColor();
                Console.WriteLine();
                Console.WriteLine();

                #endregion

                Console.WriteLine("Press any key to quit...");
            }
            catch (Exception exception) {
                Console.WriteLine(exception);
            }

            Console.ReadLine();
        }