public PaymentResultDisplay AuthorizeCapturePayment(PaymentRequest request) { var processor = new PaymentProcessor(MerchelloContext, request); var authorizeCapture = processor.AuthorizeCapture(); var result = new PaymentResultDisplay() { Success = authorizeCapture.Payment.Success, Invoice = authorizeCapture.Invoice.ToInvoiceDisplay(), Payment = authorizeCapture.Payment.Result.ToPaymentDisplay(), ApproveOrderCreation = authorizeCapture.ApproveOrderCreation }; if (!authorizeCapture.Payment.Success) { authorizeCapture.Payment.Result.AuditPaymentDeclined(); } else { authorizeCapture.Payment.Result.AuditPaymentAuthorize(authorizeCapture.Invoice); authorizeCapture.Payment.Result.AuditPaymentCaptured(request.Amount); } return(result); }
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); }
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); }
/// <summary> /// Returns a payment for an CapturePayment for a PaymentRequest /// /// GET /umbraco/Merchello/PaymentApi/RefundPayment/ /// </summary> /// <param name="request"> /// The request. /// </param> /// <returns> /// The <see cref="PaymentDisplay"/>. /// </returns> public PaymentResultDisplay RefundPayment(PaymentRequest 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); }
public PaymentResultDisplay AuthorizePayment(PaymentRequestDisplay request) { // Add the amount to the args, this is for the Authorize from the backoffice new payments // for some reason Authorize does not take in the amount and only uses the full invoice amount // which is incorrect when adding adjustments via the back office. var requestArgs = request.ProcessorArgs.ToList(); requestArgs.Add(new KeyValuePair <string, string>("authorizePaymentAmount", request.Amount.ToString(CultureInfo.InvariantCulture))); request.ProcessorArgs = requestArgs; 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 { if (request.Amount > 0) { authorize.Payment.Result.AuditPaymentAuthorize(authorize.Invoice, request.Amount); } else { authorize.Payment.Result.AuditPaymentAuthorize(authorize.Invoice); } } return(result); }
/// <summary> /// Returns a payment for an CapturePayment for a PaymentRequest /// /// GET /umbraco/Merchello/PaymentApi/RefundPayment/ /// </summary> /// <param name="request"> /// The request. /// </param> /// <returns> /// The <see cref="PaymentDisplay"/>. /// </returns> public PaymentResultDisplay RefundPayment(PaymentRequest 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; }
public PaymentResultDisplay AuthorizeCapturePayment(PaymentRequest request) { var processor = new PaymentProcessor(MerchelloContext, request); var authorizeCapture = processor.AuthorizeCapture(); var result = new PaymentResultDisplay() { Success = authorizeCapture.Payment.Success, Invoice = authorizeCapture.Invoice.ToInvoiceDisplay(), Payment = authorizeCapture.Payment.Result.ToPaymentDisplay(), ApproveOrderCreation = authorizeCapture.ApproveOrderCreation }; if (!authorizeCapture.Payment.Success) { authorizeCapture.Payment.Result.AuditPaymentDeclined(); } else { authorizeCapture.Payment.Result.AuditPaymentAuthorize(authorizeCapture.Invoice); authorizeCapture.Payment.Result.AuditPaymentCaptured(request.Amount); } return result; }