/// <summary> /// Показать платеж по id счета /// </summary> /// <param name="InvoiceId"></param> /// <param name="MessageId"></param> /// <returns></returns> private async Task <IActionResult> SendViewPayment(int PaymentId, int MessageId = 0) { try { var Payment = PaymentsFunction.GetPayment(PaymentId); if (Payment != null) { BotMessage = new PaymentViewMessage(Payment); await SendMessage(BotMessage.BuildMsg(), MessageId); } else { await AnswerCallback("Данные по оплате отсутствуют", true); } return(OkResult); } catch { return(OkResult); } }
/// <summary> /// Заносим информацию о полученом платеже в бд и уведовляем об этом операторов /// </summary> /// <returns></returns> private async Task <IActionResult> SuccessfulPaymentCreditCard() { var id = Convert.ToInt32(this.Update.Message.SuccessfulPayment.InvoicePayload); this.OrderId = Convert.ToInt32(id); OrderFunction = new BusinessLayer.OrderFunction(); var Payment = OrderFunction.AddCreditCardPayment(this.OrderId, (this.Update.Message.SuccessfulPayment.TotalAmount / 100), this.Update.Message.SuccessfulPayment.ProviderPaymentChargeId, "идентификатор платежа в Telegram:" + this.Update.Message.SuccessfulPayment.TelegramPaymentChargeId); if (Payment != null) { BotMessage = new OrderViewMessage(this.OrderId); // отправляем пользователю сообщение с деталями его заказа await SendMessage(BotMessage.BuildMsg()); BotMessage = new PaymentViewMessage(Payment.Id);// отрпавляем уведомление о новом платеже всем операторам await SendMessageAllBotEmployeess(BotMessage.BuildMsg()); OrderFunction.Dispose(); } return(OkResult); }
/// <summary> /// Показать детали платежа /payment[id] /// </summary> /// <returns></returns> private async Task <IActionResult> SendViewPayment() { try { int Id = Convert.ToInt32(base.CommandName.Substring(PaymentCmd.Length)); var Payment = PaymentsFunction.GetPayment(Id); BotMessage = new PaymentViewMessage(Payment); await SendMessage(BotMessage.BuildMsg()); return(OkResult); } catch { return(OkResult); } }
/// <summary> /// Кнопка я оплатил. ПРоверка платежа /// </summary> /// <returns></returns> private async Task <IActionResult> CheckPay() { PaymentsFunction paymentsFunction = new PaymentsFunction(); var invoice = await paymentsFunction.CheckPaidInvoice(OrderId); paymentsFunction.Dispose(); if (invoice != null && invoice.Payment.Count > 0 && invoice.Paid) // платеж найден и счет имеет статут Оплачен { BotMessage = new InvoiceViewMessage(invoice, OrderId); await EditMessage(BotMessage.BuildMsg()); //уведомляем сотрудников о поступлении платежа PaymentViewMessage paymentViewMessage = new PaymentViewMessage(invoice.Payment.LastOrDefault().Id); await SendMessageAllBotEmployeess(paymentViewMessage.BuildMsg()); } else { await AnswerCallback("Платеж не найден", true); } return(OkResult); }