/// <summary> /// Voids a payment /// </summary> /// <param name="voidPaymentRequest">Request</param> /// <returns>Result</returns> public virtual VoidPaymentResult Void(VoidPaymentRequest voidPaymentRequest) { var paymentMethod = LoadPaymentMethodBySystemName(voidPaymentRequest.Order.PaymentMethodSystemName); if (paymentMethod == null) { throw new SmartException(T("Payment.CouldNotLoadMethod")); } try { return(paymentMethod.Value.Void(voidPaymentRequest)); } catch (NotSupportedException) { var result = new VoidPaymentResult(); result.AddError(T("Common.Payment.NoVoidSupport")); return(result); } catch { throw; } }