public ProcessedPayment GetProcessedPayment(string merchantParameters, string merchantKey, string providedSignature) { var paymentResponse = merchantParamentersManager.GetPaymentResponse(merchantParameters); var expectedSignature = signatureManager.GetSignature(merchantParameters, paymentResponse.Ds_Order, merchantKey); var isValidSignature = signatureComparer.ValidateResponseSignature(expectedSignature, providedSignature); var result = new ProcessedPayment(paymentResponse, isValidSignature); return(result); }