/// <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); }
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)); }