protected void Page_PreRender(object sender, EventArgs e) { if (this.Payment != null && (this.Payment.PaymentStatus == PaymentStatus.Unprocessed || this.Payment.PaymentStatus == PaymentStatus.AuthorizationPending)) { PaymentMethod method = this.Payment.PaymentMethod; if (method != null && method.PaymentInstrumentType == PaymentInstrumentType.PayPal) { PaymentGateway gateway = CommerceBuilder.Payments.Providers.PayPal.PayPalProvider.GetPayPalPaymentGateway(true); if (gateway != null) { PayPalProvider provider = (PayPalProvider)gateway.GetInstance(); Control payNowButton = provider.GetPayNowButton(this.Payment.Order, this.Payment.Id); if (payNowButton != null) { phPayNow.Controls.Add(payNowButton); // IF AUTO CLICK IS ENABLED AND PAGE VIEW IS WITHIN 10 SECONDS PERIOD AFTER ORDER PLACEMENT if (AutoClick) { if (this.Payment.Order.OrderDate.AddSeconds(10) >= LocaleHelper.LocalNow) { ((PayNowButton)payNowButton).AutoClick(); } } } } } } }
protected void Page_PreRender(object sender, System.EventArgs e) { // EXPRESS CHECKOUT BUTTON IS NOT VISIBLE BY DEFAULT // DETERMINE WHETHER THE PAYPAL GATEWAY IS DEFINED, AND WHETHER IT HAS API SERVICES ENABLED // BUTTON ONLY SHOWS IF PRODUCTS ARE IN THE BASKET AND MIN/MAX ORER LIMITS ARE MET if (BasketHasProducts()) { bool hasSubscriptions = BasketHelper.HasRecurringSubscriptions(AbleContext.Current.User.Basket); bool newSubFeatureEnabled = AbleContext.Current.Store.Settings.ROCreateNewOrdersEnabled; if (!hasSubscriptions || !newSubFeatureEnabled) { Basket basket = AbleContext.Current.User.Basket; foreach (BasketItem item in basket.Items) { if (item.OrderItemType == OrderItemType.Product) { if (item.Product.IsProhibited) { this.Visible = false; return; } } } // FIND THE PAYPAL GATEWAY PayPalProvider provider = AbleCommerce.Code.StoreDataHelper.GetPayPalProvider(); if (provider != null && provider.ApiEnabled && ValidateOrderMinMaxAmounts()) { //SHOW PANEL IF API ENABLED ExpressCheckoutPanel.Visible = !AbleContext.Current.Store.Settings.ProductPurchasingDisabled; if (ShowHeader) { phHeader.Visible = true; } else { phHeader.Visible = false; } if (ShowDescription) { phDescription.Visible = true; } else { phDescription.Visible = false; } phBillMeLaterBtn.Visible = provider.IsPayPalCreditEnabled; } } } }
private void SetExpressCheckout(bool isBmlRequest) { PayPalProvider client = AbleCommerce.Code.StoreDataHelper.GetPayPalProvider(); PayPalProvider.ExpressCheckoutResult result = client.SetExpressCheckout(isBmlRequest); // IF ERRORS ARE PRESENT, REDIRECT TO DISPLAY THEM if (result.Errors != null) { RedirectWithErrors(result.Errors); } // NO ERRORS FOUND, SEND TO SPECIFIED REDIRECT URL Response.Redirect(result.RedirectUrl); }
public bool ProcessPayment(string merchantId, string cardNumber, string expiration, decimal amount) { var provider = new PayPalProvider(); try { var cardInfo = new CreditCardDetails(cardNumber, expiration); provider.ProcessPayment(merchantId, cardInfo, amount); return(true); } catch { return(false); } }
private void GetExpressCheckout() { PayPalProvider client = AbleCommerce.Code.StoreDataHelper.GetPayPalProvider(); GetExpressCheckoutResult result = client.GetExpressCheckout(); // IF ERRORS ARE PRESENT, REDIRECT TO DISPLAY THEM if (result.Errors != null) { RedirectWithErrors(result.Errors); } // NO ERRORS FOUND, IF THERE ARE SHIPPABLE ITEMS REDIRECT TO SELECTSHIPPING METHOD Basket paypalBasket = result.PayPalUser.Basket; if (paypalBasket.Items.HasShippableProducts()) { Response.Redirect(AbleCommerce.Code.NavigationHelper.GetShipMethodUrl()); } // NO SHIPPABLE ITEMS, SHOW THE PAYMENT / CONFIRMATION PAGE Response.Redirect(AbleCommerce.Code.NavigationHelper.GetPaymentUrl()); }
private void DoExpressCheckout() { PayPalProvider client = AbleCommerce.Code.StoreDataHelper.GetPayPalProvider(); PayPalProvider.ExpressCheckoutResult result = client.DoExpressCheckout(); // LOOK FOR AN ORDERID TO INDICATE THE CHECKOUT SUCCEEDED if (result.OrderId != 0) { // ORDER ID LOCATED, SEND TO THE RECEIPT PAGE Order order = OrderDataSource.Load(result.OrderId); Response.Redirect(AbleCommerce.Code.NavigationHelper.GetReceiptUrl(order.OrderNumber)); } // THE CHECKOUT FAILED, SEE IF WE HAVE ERRORS AVAIALBLE if (result.Errors != null && result.Errors.Count > 0) { RedirectWithErrors(result.Errors); } // NO ERRORS AVAILABLE, USE DEFAULT RedirectWithDefaultError(); }