public PaymentDisplay AuthorizeCapturePayment(PaymentRequest request)
        {
            var processor = new PaymentProcessor(MerchelloContext, request);

            var authorizeCapture = processor.AuthorizeCapture();

            if(!authorizeCapture.Payment.Success)
                throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));

            return authorizeCapture.Payment.Result.ToPaymentDisplay();
        }
        /// <summary>
        /// Returns a payment for an CapturePayment for a PaymentRequest
        /// 
        /// GET /umbraco/Merchello/PaymentApi/RefundPayment/
        /// </summary>
        public PaymentDisplay RefundPayment(PaymentRequest request)
        {
            var processor = new PaymentProcessor(MerchelloContext, request);

            var refund = processor.Refund();

            if(!refund.Payment.Success)
                throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));

            return refund.Payment.Result.ToPaymentDisplay();
        }