Ejemplo n.º 1
0
        public void UpdatePayment(Consolidate payment)
        {
            try
            {
                if (payment == null)
                {
                    throw new ArgumentNullException(nameof(payment));
                }

                switch (payment.MetodoPago)
                {
                case "Payments.Transfer":
                {
                    try
                    {
                        var paymentTransfer = _transferServices.GetPaymentTransferByOrderId(payment.OrdenId);
                        paymentTransfer.ReceiverBankName = payment.BancoEmisor;
                        paymentTransfer.IssuingBankName  = payment.BancoReceptor;
                        paymentTransfer.ReceiverBankId   = payment.BancoEmisorId;
                        paymentTransfer.IssuingBankId    = payment.BancoReceptorId;
                        paymentTransfer.ReferenceNumber  = payment.Referencia;

                        _transferServices.UpdatePaymentTransfer(paymentTransfer);
                    }
                    catch (Exception ex)
                    {
                        throw new NopException("Error en transferencia: " + ex.Message, ex);
                    }
                    break;
                }

                default: {
                    try
                    {
                        var zelleTransfer = _zelleServices.GetPaymentZelleByOrderId(payment.OrdenId);
                        zelleTransfer.ReferenceNumber = payment.Referencia;
                        zelleTransfer.IssuingEmail    = payment.EmailEmisor;

                        _zelleServices.UpdatePaymentZelle(zelleTransfer);
                    }
                    catch (Exception ex)
                    {
                        throw new NopException("Error en zelle: " + ex.Message, ex);
                    }
                    break;
                }
                }

                payment.FechaUltimaActualizacion = DateTime.Now;

                _paymentRepository.Update(payment);
                _cacheManager.RemoveByPattern(PAYMENT_PATTERN_KEY);
            }
            catch (Exception ex)
            {
                throw new NopException("Error al actualizar el pago: " + ex.Message, ex);
            }
        }
Ejemplo n.º 2
0
        public IActionResult RegisterPayment(PaymentInfoModel payment)
        {
            try
            {
                if (payment == null)
                {
                    return(Json(new { success = false }));
                }
                if (payment.IdPayment == 0)
                {
                    var model = new PaymentTransfer
                    {
                        IssuingBankId   = int.Parse(payment.BancoEmisorId),
                        OrderId         = payment.NroOrden,
                        ReceiverBankId  = int.Parse(payment.BancoReceptorId),
                        ReferenceNumber = payment.Referencia
                    };
                    _transferService.InsertPaymentTransfer(model);
                }
                else
                {
                    var model = new PaymentTransfer
                    {
                        Id                 = payment.IdPayment,
                        IssuingBankId      = int.Parse(payment.BancoEmisorId),
                        OrderId            = payment.NroOrden,
                        ReceiverBankId     = int.Parse(payment.BancoReceptorId),
                        ReferenceNumber    = payment.Referencia,
                        PaymentStatusOrder = payment.StatusPayment
                    };
                    _transferService.UpdatePaymentTransfer(model);
                }



                ViewBag.RefreshPage = true;

                return(RedirectToRoute("OrderDetails", new { orderId = payment.NroOrden }));
            }
            catch (Exception ex)
            {
                throw new NopException(ex.Message, ex);
            }
        }