ParseResponseSuccess() public static method

Parses paypal response and returns true if operation succeeds. False otherwise.
public static ParseResponseSuccess ( AbstractResponseType response, string &error ) : bool
response PayPal.PayPalAPIInterfaceService.Model.AbstractResponseType
error string
return bool
Example #1
0
        public ITransactionRefundResult Refund(ITransactionRefundRequest request)
        {
            //to refund a transaction, we'll need capture id previously obtained from paypal
            var captureId = request.GetParameterAs <string>(PaymentParameterNames.CaptureId);

            var paypalCurrency = PayPalHelper.GetPaypalCurrency(request.CurrencyIsoCode);

            //create a capture request for paypal
            var doRefundRequest = new RefundTransactionReq()
            {
                RefundTransactionRequest = new RefundTransactionRequestType()
                {
                    Version       = ApiVersion,
                    TransactionID = captureId,
                    Amount        = new BasicAmountType()
                    {
                        value      = Math.Round(request.Amount, 2).ToString("N", new CultureInfo("en-us")),
                        currencyID = paypalCurrency
                    },
                    RefundType = request.IsPartialRefund ? RefundType.PARTIAL : RefundType.FULL
                }
            };

            //get the service for paypal api
            var service        = GetPayPalApiInterfaceServiceService();
            var paypalResponse = service.RefundTransaction(doRefundRequest);


            var result = new TransactionResult();

            string error;
            var    success = PayPalHelper.ParseResponseSuccess(paypalResponse, out error);

            if (success)
            {
                result.Success = true;
                result.SetParameter(PaymentParameterNames.RefundId, paypalResponse.RefundTransactionID);
                result.SetParameter(PaymentParameterNames.RefundResult, paypalResponse.Ack);
            }
            else
            {
                result.SetParameter(PaymentParameterNames.ErrorMessage, error);
            }

            return(result);
        }
Example #2
0
        public ITransactionCaptureResult Capture(ITransactionCaptureRequest request)
        {
            //to capture a transaction, we'll need authorization id previously obtained from paypal
            var authorizationId = request.GetParameterAs <string>(PaymentParameterNames.AuthorizationId);

            var paypalCurrency = PayPalHelper.GetPaypalCurrency(request.CurrencyIsoCode);

            //create a capture request for paypal
            var doCaptureRequest = new DoCaptureReq()
            {
                DoCaptureRequest = new DoCaptureRequestType()
                {
                    Version         = ApiVersion,
                    AuthorizationID = authorizationId,
                    Amount          = new BasicAmountType()
                    {
                        value      = Math.Round(request.Amount, 2).ToString("N", new CultureInfo("en-us")),
                        currencyID = paypalCurrency
                    },
                    CompleteType = CompleteCodeType.COMPLETE
                }
            };

            //get the service for paypal api
            var service        = GetPayPalApiInterfaceServiceService();
            var paypalResponse = service.DoCapture(doCaptureRequest);


            var result = new TransactionResult();

            string error;
            var    success = PayPalHelper.ParseResponseSuccess(paypalResponse, out error);

            if (success)
            {
                result.Success = true;
                result.SetParameter(PaymentParameterNames.CaptureId, paypalResponse.DoCaptureResponseDetails.PaymentInfo.TransactionID);
                result.SetParameter(PaymentParameterNames.CaptureResult, paypalResponse.Ack);
            }
            else
            {
                result.SetParameter(PaymentParameterNames.ErrorMessage, error);
            }

            return(result);
        }
Example #3
0
        public ITransactionVoidResult Void(ITransactionVoidRequest request)
        {
            //to void a transaction, we'll need capture id or authorization id previously obtained from paypal
            var transactionId = request.GetParameterAs <string>(PaymentParameterNames.AuthorizationId);

            if (string.IsNullOrEmpty(transactionId))
            {
                transactionId = request.GetParameterAs <string>(PaymentParameterNames.CaptureId);
            }

            //create a capture request for paypal
            var doVoidRequest = new DoVoidReq()
            {
                DoVoidRequest = new DoVoidRequestType()
                {
                    Version         = ApiVersion,
                    AuthorizationID = transactionId
                }
            };

            //get the service for paypal api
            var service        = GetPayPalApiInterfaceServiceService();
            var paypalResponse = service.DoVoid(doVoidRequest);


            var result = new TransactionResult();

            string error;
            var    success = PayPalHelper.ParseResponseSuccess(paypalResponse, out error);

            if (success)
            {
                result.Success = true;
                result.SetParameter(PaymentParameterNames.RefundId, paypalResponse.AuthorizationID);
                result.SetParameter(PaymentParameterNames.RefundResult, paypalResponse.Ack);
            }
            else
            {
                result.SetParameter(PaymentParameterNames.ErrorMessage, error);
            }

            return(result);
        }
Example #4
0
        public ITransactionProcessResult Process(ITransactionProcessRequest request, bool authorizeOnly = false)
        {
            var user = _userService.Get(request.UserId);

            if (user == null)
            {
                throw new mobSocialException($"Can't find the user with Id {request.UserId}");
            }
            var creditCard = new CreditCardDetailsType()
            {
                CreditCardNumber = request.GetParameterAs <string>(PaymentParameterNames.CardNumber),
                CVV2             = request.GetParameterAs <string>(PaymentParameterNames.SecurityCode),
                ExpMonth         = request.GetParameterAs <int>(PaymentParameterNames.ExpireMonth),
                ExpYear          = request.GetParameterAs <int>(PaymentParameterNames.ExpireYear),
                CreditCardType   = PayPalHelper.GeCreditCardTypeType(request.GetParameterAs <string>(PaymentParameterNames.CardIssuerType)),
                CardOwner        = new PayerInfoType()
            };


            var paypalCurrency = PayPalHelper.GetPaypalCurrency(request.CurrencyIsoCode);
            var doDirectPaymentRequestDetails = new DoDirectPaymentRequestDetailsType()
            {
                IPAddress      = WebHelper.GetClientIpAddress(),
                PaymentAction  = authorizeOnly ? PaymentActionCodeType.AUTHORIZATION : PaymentActionCodeType.SALE,
                CreditCard     = creditCard,
                PaymentDetails = new PaymentDetailsType()
                {
                    OrderTotal = new BasicAmountType()
                    {
                        value      = Math.Round(request.Amount, 2).ToString("N", new CultureInfo("en-US")),
                        currencyID = paypalCurrency
                    },
                    Custom       = request.TransactionUniqueId,
                    ButtonSource = "mobSocial"
                }
            };

            var doDirectPaymentRequest = new DoDirectPaymentRequestType {
                Version = ApiVersion,
                DoDirectPaymentRequestDetails = doDirectPaymentRequestDetails
            };

            var paymentRequest = new DoDirectPaymentReq {
                DoDirectPaymentRequest = doDirectPaymentRequest
            };

            var service        = GetPayPalApiInterfaceServiceService();
            var paypalResponse = service.DoDirectPayment(paymentRequest);

            var result = new TransactionResult();

            string error;
            var    success = PayPalHelper.ParseResponseSuccess(paypalResponse, out error);

            if (success)
            {
                result.Success = true;
                result.SetParameter(PaymentParameterNames.AvsCode, paypalResponse.AVSCode);
                result.SetParameter(PaymentParameterNames.Cvv2Code, paypalResponse.CVV2Code);

                if (authorizeOnly)
                {
                    result.SetParameter(PaymentParameterNames.AuthorizationId, paypalResponse.TransactionID);
                    result.SetParameter(PaymentParameterNames.AuthorizationResult, paypalResponse.Ack);
                }
                else
                {
                    result.SetParameter(PaymentParameterNames.CaptureId, paypalResponse.TransactionID);
                    result.SetParameter(PaymentParameterNames.CaptureResult, paypalResponse.Ack);
                }
            }
            else
            {
                result.SetParameter(PaymentParameterNames.ErrorMessage, error);
            }

            return(result);
        }