private void Page_Load(object sender, System.EventArgs e) { if (!IsPostBack) { IWebFormPaymentProvider provider = ServiceFactory.GetService(typeof(IPaymentProvider)) as IWebFormPaymentProvider; ICommerceDao dao = ServiceFactory.GetService(typeof(ICommerceDao)) as ICommerceDao; ICommerceService service = ServiceFactory.GetService(typeof(ICommerceService)) as ICommerceService; if (provider == null || dao == null || service == null) { LogManager.GetLogger(GetType()).Warn("Unable to create services for CC Postback"); return; } IElectronicPayment payment = provider.ProcessAuthPaymentResponse(Request); BasketDecorator order = new PaymentHelper(dao).ProcessReceivedPayment(payment, this); if (order != null) { service.CloseOrder(order.Basket, TranslatorUtils.GetTextTranslator(GetType(), order.CultureCode)); } } }
protected virtual void CollectPayment(BasketDecorator basketOrder) { IElectronicPayment payment = new PaymentHelper(EModule.CommerceDao).CreatePayment(basketOrder, this); IPaymentProvider provider = EModule.PaymentProvider;//HACK to get it to compile MUST FIX IWebFormPaymentProvider webProvider = provider as IWebFormPaymentProvider; if (webProvider != null) { webProvider.TransferClientToPaymentPage(payment, PaymentRequestTypes.ImmediatePayment); } else { if (provider != null) { provider.RequestAuthPayment(payment); IBasket order = new PaymentHelper(EModule.CommerceDao).ProcessReceivedPayment(payment, this); if (order != null) { EModule.CommerceService.CloseOrder(order, TranslatorUtils.GetTextTranslator(GetType(), order.CultureCode)); } } else { //What?? PopulateOrderDetailsFromForm(basketOrder); } } }