Exemple #1
0
        public Payment Execute(Payment payment)
        {
            payment.Order   = _ordersBusiness.Get(payment.Order.Key);
            payment.OrderId = payment.Order.Id;
            long idPayment = _paymentBusiness.Insert((Payment)payment);

            if (payment.Valid)
            {
                if (payment is Billet)
                {
                    ResponsePaymentSlipTransation response =
                        _billetIntegration.Execute(
                            new RequestPaymentSlipTransaction()
                    {
                        reference = payment.Order.Number
                    }
                            );
                    payment.State       = "ok";
                    payment.PaymentType = PaymentType.Billet;
                }
                else if (payment is CredCard)
                {
                    ResponseCreditCardTransaction response =
                        _credCardIntegration.Execute(
                            new RequestCreditCardTransation()
                    {
                        reference = payment.Order.Number,
                        number    = ((CredCard)payment).Number
                    });
                    payment.State       = "ok";
                    payment.PaymentType = PaymentType.CredCard;
                }
                payment.Id = idPayment;
                _paymentBusiness.Update((Payment)payment);
            }
            return(payment);
        }