public IActionResult GenerateSignature([FromQuery] GenerateSignatureRequest request) { var hmacValidator = new HmacValidator(); var stringToSign = hmacValidator.BuildSigningString(GetDictonaryFromRequest(request)); var signature = hmacValidator.CalculateSignature(stringToSign, request.SigningKey); return(Ok(signature)); }
private Dictionary <string, string> GetDictonaryFromRequest(GenerateSignatureRequest request) { return(new Dictionary <string, string> { { nameof(request.MerchantTransactionId), request.MerchantTransactionId }, { nameof(request.Amount), request.Amount.ToString("F", CultureInfo.InvariantCulture) }, { nameof(request.CardNumber), request.CardNumber }, { nameof(request.ExpiryMonth), request.ExpiryMonth.ToString() }, { nameof(request.ExpiryYear), request.ExpiryYear.ToString() }, { nameof(request.Cvv), request.Cvv }, { nameof(request.Currency), request.Currency } }); }