public PushpayController(IRequestManager requestManager) : base(requestManager) { PaymentProcessTypes processType = PaymentProcessTypes.OneTimeGiving; try { processType = (PaymentProcessTypes)requestManager.CurrentHttpContext.Session["PaymentProcessType"]; } catch (Exception e) { Console.WriteLine(e.Message); } _pushpay = new PushpayConnection( CurrentDatabase.GetSetting("PushPayAccessToken", ""), CurrentDatabase.GetSetting("PushPayRefreshToken", ""), CurrentDatabase, Configuration.Current.PushpayAPIBaseUrl, Configuration.Current.PushpayClientID, Configuration.Current.PushpayClientSecret, Configuration.Current.OAuth2TokenEndpoint, Configuration.Current.TouchpointAuthServer, Configuration.Current.OAuth2AuthorizeEndpoint); _pushpayPayment = new PushpayPayment(_pushpay, CurrentDatabase, processType); _resolver = new PushpayResolver(_pushpay, CurrentDatabase); _merchantHandle = _pushpayPayment._merchantHandle; _givingLink = $"{Configuration.Current.PushpayGivingLinkBase}/{_merchantHandle}"; }
public PushpayController(IRequestManager requestManager) : base(requestManager) { PaymentProcessTypes processType = PaymentProcessTypes.OneTimeGiving; try { processType = (PaymentProcessTypes)int.Parse(requestManager.SessionProvider.Get <string>("PaymentProcessType")); } catch (Exception e) { Console.WriteLine(e.Message); } _pushpay = new PushpayConnection( CurrentDatabase.GetSetting("PushPayAccessToken", ""), CurrentDatabase.GetSetting("PushPayRefreshToken", ""), CurrentDatabase, Configuration.Current.PushpayAPIBaseUrl, Configuration.Current.PushpayClientID, Configuration.Current.PushpayClientSecret, Configuration.Current.OAuth2TokenEndpoint, Configuration.Current.TouchpointAuthServer, Configuration.Current.OAuth2AuthorizeEndpoint); _pushpayPayment = new PushpayPayment(_pushpay, CurrentDatabase, processType); _resolver = new PushpayResolver(_pushpay, CurrentDatabase); _defaultMerchantHandle = _pushpayPayment._defaultMerchantHandle; _givingLink = Configuration.Current.PushpayGivingLinkBase; _state = CurrentDatabase.Host; isTesting = MultipleGatewayUtils.Setting(CurrentDatabase, "GatewayTesting", (int)processType); if (isTesting) { _ru = "touchpointest"; } else { _ru = Configuration.Current.PushpayRU; } }
public async Task <ActionResult> RecurringManagment(int PeopleId) { var oid = (from o in CurrentDatabase.Organizations where o.RegistrationTypeId == RegistrationTypeCode.ManageGiving select o.OrganizationId).FirstOrDefault(); if (oid <= 0) { return(View("OnePageGiving/NotConfigured")); } ViewBag.PeopleId = PeopleId; ViewBag.OrgId = oid; string payerKey = PushpayResolver.ResolvePayerKey(CurrentDatabase, PeopleId); IEnumerable <RecurringPayment> rpList = await _pushpayPayment.GetRecurringPaymentsForAPayer(payerKey); if (rpList == null || rpList.Count() == 0) { string mobile = CurrentDatabase.People.SingleOrDefault(p => p.PeopleId == PeopleId).CellPhone; return(NewRecurringGiving(PeopleId, oid)); } List <RecurringManagment> model = new List <RecurringManagment>(); foreach (var item in rpList) { RecurringManagment mg = new RecurringManagment() { NextPayment = item.Schedule.NextPaymentDate, Amount = item.Amount.Amount, Fund = item.Fund.Name, Frequency = item.Schedule.Frequency, LinkToEdit = item.Links["donorviewrecurringpayment"].Href }; model.Add(mg); } return(View(model)); }