using System.Security.Cryptography;
public static void Main()
String client_secret = Convert.ToBase64String(Encoding.UTF8.GetBytes("149499755346"));
String input = "0020100002618&1000.00&MPesa&254722000000";
var rs = GenerateHMACSignature(input, client_secret);
public static string GenerateHMACSignature(string input, string secret)
var secretKeyByteArray = Encoding.UTF8.GetBytes(secret);
byte[] signature = Encoding.UTF8.GetBytes(input);
using (HMACSHA256 hmac = new HMACSHA256(secretKeyByteArray))
byte[] signatureBytes = hmac.ComputeHash(signature);
return Convert.ToBase64String(signatureBytes);