예제 #1
0
        private void HandleRequest(HttpContext context)
        {
            if (payPalToken.Length == 0)
            {
                log.Info("invalid request no PayPalLog token provided");
                SiteUtils.RedirectToDefault();
                return;
            }

            PayPalLog setExpressCheckoutLog = PayPalLog.GetSetExpressCheckout(payPalToken);

            if (setExpressCheckoutLog == null)
            {
                log.Info("invalid request no PayPalLog found for token " + payPalToken);
                SiteUtils.RedirectToDefault();
                return;
            }


            PayPalReturnHandlerProvider provider = null;
            string returnUrl = string.Empty;

            try
            {
                provider = PayPalReturnHandlerManager.Providers[setExpressCheckoutLog.ProviderName];
            }
            catch (TypeInitializationException ex)
            {
                log.Error(ex);
            }

            if (provider != null)
            {
                returnUrl = provider.HandleRequestAndReturnUrlForRedirect(
                    context,
                    payPalToken,
                    payPalPayerId,
                    setExpressCheckoutLog);
            }
            else
            {
                log.Info("could not find PayPalReturnHandlerProvider " + setExpressCheckoutLog.ProviderName);
            }

            if (returnUrl.Length == 0)
            {
                log.Info("no return url determined so redirecting to site root");
                returnUrl = SiteUtils.GetNavigationSiteRoot();
            }

            context.Response.Redirect(returnUrl);
        }
예제 #2
0
        private void HandleRequest(HttpContext context)
        {
            if (payPalToken.Length == 0)
            {
                SiteUtils.RedirectToDefault();
                return;
            }

            PayPalLog setExpressCheckoutLog = PayPalLog.GetSetExpressCheckout(payPalToken);

            if (setExpressCheckoutLog == null)
            {
                SiteUtils.RedirectToDefault();
                return;
            }


            PayPalReturnHandlerProvider provider = null;
            string returnUrl = string.Empty;

            try
            {
                provider = PayPalReturnHandlerManager.Providers[setExpressCheckoutLog.ProviderName];
            }
            catch (TypeInitializationException ex)
            {
                log.Error(ex);
            }

            if (provider != null)
            {
                returnUrl = provider.HandleRequestAndReturnUrlForRedirect(
                    context,
                    payPalToken,
                    payPalPayerId,
                    setExpressCheckoutLog);
            }

            if (returnUrl.Length == 0)
            {
                returnUrl = SiteUtils.GetNavigationSiteRoot();
            }

            context.Response.Redirect(returnUrl);
        }