예제 #1
0
        /// <summary>
        /// Does the express checkout.
        /// </summary>
        /// <param name="order">The order.</param>
        /// <param name="authorizeOnly">if set to <c>true</c> [authorize only].</param>
        /// <returns></returns>
        public Transaction DoExpressCheckout(Order order, bool authorizeOnly)
        {
            Transaction transaction = null;

            if (_paymentProviderCollection.Count > 0)
            {
                IPayPalPaymentProvider _provider = _paymentProviderCollection.Find(provider => provider.GetType().Name.Contains("PayPalProPaymentProvider")) as IPayPalPaymentProvider;
                transaction = _provider.DoExpressCheckout(order, authorizeOnly);
            }
            return(transaction);
        }
예제 #2
0
        /// <summary>
        /// Gets the express checkout details.
        /// </summary>
        /// <param name="token">The token.</param>
        /// <returns></returns>
        public PayPalPayer GetExpressCheckoutDetails(string token)
        {
            PayPalPayer payPalPayer = null;

            if (_paymentProviderCollection.Count > 0)
            {
                IPayPalPaymentProvider _provider = _paymentProviderCollection.Find(provider => provider.GetType().Name.Contains("PayPalProPaymentProvider")) as IPayPalPaymentProvider;
                payPalPayer = _provider.GetExpressCheckoutDetails(token);
            }
            return(payPalPayer);
        }
예제 #3
0
        /// <summary>
        /// Synchronizes the specified args.
        /// </summary>
        /// <param name="args">The args.</param>
        /// <returns></returns>
        public string Synchronize(string content)
        {
            string response = string.Empty;

            if (_paymentProviderCollection.Count > 0)
            {
                IPayPalPaymentProvider _provider = _paymentProviderCollection.Find(provider => provider.GetType().Name.Contains("PayPalStandardPaymentProvider")) as IPayPalPaymentProvider;
                response = _provider.Synchronize(content);
            }
            return(response);
        }
예제 #4
0
        /// <summary>
        /// Sets the express checkout.
        /// </summary>
        /// <param name="order">The order.</param>
        /// <param name="returnUrl">The return URL.</param>
        /// <param name="cancelUrl">The cancel URL.</param>
        /// <param name="authorizeOnly">if set to <c>true</c> [authorize only].</param>
        /// <returns></returns>
        public string SetExpressCheckout(Order order, string returnUrl, string cancelUrl, bool authorizeOnly)
        {
            string url = string.Empty;

            if (_paymentProviderCollection.Count > 0)
            {
                IPayPalPaymentProvider _provider = _paymentProviderCollection.Find(provider => provider.GetType().Name.Contains("PayPalProPaymentProvider")) as IPayPalPaymentProvider;
                url = _provider.SetExpressCheckout(order, returnUrl, cancelUrl, authorizeOnly);
            }
            return(url);
        }
예제 #5
0
        /// <summary>
        /// Creates the cart URL.
        /// </summary>
        /// <param name="order">The order.</param>
        /// <returns></returns>
        public string CreateCartUrl(Order order, string returnUrl, string cancelUrl, string notifyUrl)
        {
            string url = string.Empty;

            if (_paymentProviderCollection.Count > 0)
            {
                IPayPalPaymentProvider _provider = _paymentProviderCollection.Find(provider => provider.GetType().Name.Contains("PayPalStandardPaymentProvider")) as IPayPalPaymentProvider;
                url = _provider.CreateCartUrl(order, returnUrl, cancelUrl, notifyUrl);
            }
            return(url);
        }