private Classes.Display.DisplayInvoice CompletePaypalPayment(string invoiceId) { try { PaymentGateway pg = new PaymentGateway(); var invoice = pg.GetDisplayInvoice(new Guid(invoiceId)); if (invoice != null) { if (invoice.Subscription != null) { EmailServer.EmailServer.SendEmail(ServerConfig.DEFAULT_EMAIL, ServerConfig.DEFAULT_EMAIL_FROM_NAME, ServerConfig.DEFAULT_ADMIN_EMAIL_ADMIN, "Paypal: New Payment Complete!!", invoice.InvoiceId + " Amount:" + invoice.Subscription.Price + CompileReportString()); RDN.Library.Classes.League.LeagueFactory.UpdateLeagueSubscriptionPeriod(invoice.Subscription.ValidUntil, false, invoice.Subscription.InternalObject); pg.SetInvoiceStatus(invoice.InvoiceId, InvoiceStatus.Payment_Successful, _Message.PayKey); WebClient client = new WebClient(); client.DownloadDataAsync(new Uri(ServerConfig.URL_TO_CLEAR_LEAGUE_MEMBER_CACHE + invoice.Subscription.InternalObject)); WebClient client1 = new WebClient(); client1.DownloadDataAsync(new Uri(ServerConfig.URL_TO_CLEAR_LEAGUE_MEMBER_CACHE_API + invoice.Subscription.InternalObject)); } else if (invoice.Paywall != null) { EmailServer.EmailServer.SendEmail(ServerConfig.DEFAULT_EMAIL, ServerConfig.DEFAULT_EMAIL_FROM_NAME, ServerConfig.DEFAULT_ADMIN_EMAIL_ADMIN, "Paypal: New Paywall Complete!!", invoice.InvoiceId + " Amount:" + invoice.Paywall.Price + CompileReportString()); Paywall.Paywall pw = new Paywall.Paywall(); pw.HandlePaywallPayments(invoice, null, _Message.PayKey); } else if (invoice.DuesItems.Count > 0) HandleDuesPayments(invoice, CompileReportString(), _Message.PayKey); else if (invoice.InvoiceItems.Count > 0) { StoreGateway sg = new StoreGateway(); sg.HandleStoreItemPayments(invoice, CompileReportString(), _Message.PayKey); } else EmailServer.EmailServer.SendEmail(ServerConfig.DEFAULT_EMAIL, ServerConfig.DEFAULT_EMAIL_FROM_NAME, ServerConfig.DEFAULT_ADMIN_EMAIL_ADMIN, "Paypal: Haven't Found Items for the invoice", CompileReportString()); } else { EmailServer.EmailServer.SendEmail(ServerConfig.DEFAULT_EMAIL, ServerConfig.DEFAULT_EMAIL_FROM_NAME, ServerConfig.DEFAULT_ADMIN_EMAIL_ADMIN, "Paypal: Couldn't Find Invoice", CompileReportString()); } return invoice; } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType(), additionalInformation: CompileReportString()); } return null; }