public async Task <ActionResult> Cancel(string paymentId, PaymentInstrument instrument) { try { switch (instrument) { case PaymentInstrument.CreditCard: await PaymentHelper.CancelCreditCardPayment(paymentId, this.swedbankPayClient, TempData, this.cartService); break; case PaymentInstrument.Trustly: await PaymentHelper.CancelTrustlyPayment(paymentId, this.swedbankPayClient, TempData, this.cartService); break; case PaymentInstrument.Invoice: await PaymentHelper.CancelInvoicePayment(paymentId, this.payeeInfoOptions.PayeeReference, this.swedbankPayClient, TempData, this.cartService); break; } return(RedirectToAction("Details", "Orders")); } catch (Exception e) { TempData["ErrorMessage"] = $"Something unexpected happened. {e.Message}"; return(RedirectToAction("Details", "Orders")); } }