Esempio n. 1
0
        public PaymentResultDisplay VoidPayment(PaymentRequestDisplay request)
        {
            var processor = new PaymentProcessor(MerchelloContext, request);

            var voided = processor.Void();

            var result = new PaymentResultDisplay()
            {
                Success = voided.Payment.Success,
                Invoice = voided.Invoice.ToInvoiceDisplay(),
                Payment = voided.Payment.Result.ToPaymentDisplay(),
                ApproveOrderCreation = voided.ApproveOrderCreation
            };

            if (voided.Payment.Success)
            {
                voided.Payment.Result.AuditPaymentVoided();
            }

            return result;
        }
Esempio n. 2
0
        public PaymentResultDisplay CapturePayment(PaymentRequestDisplay request)
        {
            var processor = new PaymentProcessor(MerchelloContext, request);

            var capture = processor.Capture();

            var result = new PaymentResultDisplay()
            {
                Success = capture.Payment.Success,
                Invoice = capture.Invoice.ToInvoiceDisplay(),
                Payment = capture.Payment.Result.ToPaymentDisplay(),
                ApproveOrderCreation = capture.ApproveOrderCreation
            };

            if (!capture.Payment.Success)
            {
                capture.Payment.Result.AuditPaymentDeclined();
            }
            else
            {
                capture.Payment.Result.AuditPaymentCaptured(request.Amount);
            }

            return result;
        }
Esempio n. 3
0
        /// <summary>
        /// Returns a payment result for an refund operation
        /// 
        /// GET /umbraco/Merchello/PaymentApi/RefundPayment/
        /// </summary>
        /// <param name="request">
        /// The request.
        /// </param>
        /// <returns>
        /// The <see cref="PaymentDisplay"/>.
        /// </returns>
        public PaymentResultDisplay RefundPayment(PaymentRequestDisplay request)
        {
            var processor = new PaymentProcessor(MerchelloContext, request);

            var refund = processor.Refund();

            var result = new PaymentResultDisplay()
            {
                Success = refund.Payment.Success,
                Invoice = refund.Invoice.ToInvoiceDisplay(),
                Payment = refund.Payment.Result.ToPaymentDisplay(),
                ApproveOrderCreation = refund.ApproveOrderCreation
            };

            if (refund.Payment.Success)
            {
               refund.Payment.Result.AuditPaymentRefunded(request.Amount);
            }

            return result;
        }
Esempio n. 4
0
        public PaymentResultDisplay AuthorizePayment(PaymentRequestDisplay request)
        {
            var processor = new PaymentProcessor(MerchelloContext, request);
            var authorize = processor.Authorize();

            var result = new PaymentResultDisplay()
            {
                Success = authorize.Payment.Success,
                Invoice = authorize.Invoice.ToInvoiceDisplay(),
                Payment = authorize.Payment.Result.ToPaymentDisplay(),
                ApproveOrderCreation = authorize.ApproveOrderCreation
            };

            if (!authorize.Payment.Success)
            {
                authorize.Payment.Result.AuditPaymentDeclined();
            }
            else
            {
                authorize.Payment.Result.AuditPaymentAuthorize(authorize.Invoice);
            }

            return result;
        }