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; }
public void ProcessedPayment_ShouldNotHave_AnInvalidState() { ProcessedPayment processedPayment = new ProcessedPayment(Build.PaymentResponse(paid: true), false); Assert.IsFalse(processedPayment.IsPaymentPerformed.Any()); }
public void ProcessedPayment_ShouldNotBePerformed_IfSignatureIsValidAndOrderHasNotBeenPaid() { ProcessedPayment processedPayment = new ProcessedPayment(Build.PaymentResponse(paid: false), true); Assert.IsFalse(processedPayment.IsPaymentPerformed.DefaultIfEmpty(false).Single()); }