/// <summary>
    /// Configura o Express Checkout utilizando a operação SetExpressCheckout
    /// </summary>
    /// <param name='success'>
    /// Define a URL que o cliente será redirecionado pelo PayPal em caso de sucesso.
    /// </param>
    /// <param name='cancel'>
    /// Define a URL que o cliente será redirecionado pelo PayPal caso o ciente cancele.
    /// </param>
    public static string start(string success, string cancel, Cart cart, double frete, string codped)
    {
        //Cria a instância de SetExpressCheckoutOperation que usaremos para fazer a integração
        SetExpressCheckoutOperation SetExpressCheckout = expressCheckout().SetExpressCheckout(success, cancel);
        PaymentRequest paymentRequest = SetExpressCheckout.PaymentRequest(0);

        //Pega os itens do carrinho do cliente
        Dictionary <Product, int> items = cart.Items;

        //Adiciona todos os itens do carrinho do cliente
        foreach (Product product in items.Keys)
        {
            //int quantity = Convert.ToInt32(product.Quantidade);
            int quantity = items[product];
            paymentRequest.addItem(product.Name, quantity, product.Price);
        }
        if (frete > 0)
        {
            paymentRequest.ShippingAmount = frete;
        }
        paymentRequest.InvoiceNum = codped;

        //Configura moeda e idioma
        configureLocalization(SetExpressCheckout);

        //Executa a operação
        execute(SetExpressCheckout);

        //Retorna a URL de redirecionamento
        return(SetExpressCheckout.RedirectUrl);
    }
Example #2
0
        public string Checkout(string finalize, string cancel, string cep, string type)
        {
            SetExpressCheckoutOperation setEc = ec.SetExpressCheckout(
                finalize, cancel
                );

            using (PaymentRequest request = setEc.PaymentRequest(0))
            {
                request.Action = PaymentAction.SALE;

                foreach (Item item in items)
                {
                    request.addItem(
                        item.Product.Name,
                        item.Quantity,
                        item.Product.Price,
                        item.Product.Description
                        );
                }

                List <Shipping> shipping = GetShipping(cep);

                if (type == "frete-facil")
                {
                    request.ShippingAmount         = shipping[0].Value;
                    request.ShippingDiscountAmount = shipping[0].Value - shipping[1].Value;
                }
                else
                {
                    request.ShippingAmount = shipping[1].Value;
                }
            }

            setEc.LocaleCode     = LocaleCode.BRAZILIAN_PORTUGUESE;
            setEc.CurrencyCode   = CurrencyCode.BRAZILIAN_REAL;
            setEc.HeaderImage    = "https://cms.paypal.com/cms_content/US/en_US/images/developer/PP_X_Final_logo_vertical_rgb.gif";
            setEc.BrandName      = "PayPal Code Sample";
            setEc.SurveyEnable   = true;
            setEc.SurveyQuestion = "Onde ficou sabendo de nossa loja?";
            setEc.SurveyChoice   = new string[] {
                "Um amigo me contou",
                "Mecanismo de pesquisa",
                "Anúncio em website",
                "Outros"
            };

            setEc.sandbox().execute();

            return(setEc.RedirectUrl);
        }
        public ActionResult Index()
        {
            SetExpressCheckoutOperation SetExpressCheckout = PayPalApiFactory.instance.ExpressCheckout(
                "usuario.da.api",
                "senha",
                "assinatura"
                ).SetExpressCheckout(
                "http://dominio.com/url/de/sucesso",
                "http://dominio.com/url/de/cancelamento"
                );

            SetExpressCheckout.LocaleCode     = LocaleCode.BRAZILIAN_PORTUGUESE;
            SetExpressCheckout.CurrencyCode   = CurrencyCode.BRAZILIAN_REAL;
            SetExpressCheckout.HeaderImage    = "https://cms.paypal.com/cms_content/US/en_US/images/developer/PP_X_Final_logo_vertical_rgb.gif";
            SetExpressCheckout.BrandName      = "Nome da minha loja";
            SetExpressCheckout.SurveyEnable   = true;
            SetExpressCheckout.SurveyQuestion = "Onde ficou sabendo de nossa loja?";
            SetExpressCheckout.SurveyChoice   = new string[] {
                "Um amigo me contou",
                "Mecanismo de pesquisa",
                "Anúncio em website",
                "Outros"
            };

            SetExpressCheckout.PaymentRequest(0).addItem("Produto de Teste 1", 1, 10, "Descrição do produto 1");
            SetExpressCheckout.PaymentRequest(0).addItem("Produto de Teste 2", 2, 11, "Descrição do produto 2");
            SetExpressCheckout.PaymentRequest(0).addItem("Produto de Teste 3", 3, 12, "Descrição do produto 3");
            SetExpressCheckout.PaymentRequest(0).TaxAmount              = 3;  //imposto
            SetExpressCheckout.PaymentRequest(0).ShippingAmount         = 10; //custo do frete
            SetExpressCheckout.PaymentRequest(0).HandlingAmount         = 3;  //custo de manuseio
            SetExpressCheckout.PaymentRequest(0).ShippingDiscountAmount = -2; //desconto de frete

            SetExpressCheckout.sandbox().execute();

            return(Redirect(SetExpressCheckout.RedirectUrl));
        }