Buongiorno a tutti!!!

Sto cercando di creare un plugin di Nopcommerce per implementare un pagamento con KeyClient.

Io provo con il codice seguente a creare il MAC codificato in SHA-1, ma la pagina della banca mi riporta sempre "ERRORE CALCOLO MAC" senza altre spiegazioni. Qualcuno mi sa spiegare dove sbaglio?


//----- calcolo mac ----------
string SHA = string.Format("{0}{1}{2}{3}{4}",
codTrans,
divisa,
importo,
chiave);

string SHAX = "codTrans=" + codTrans + "divisa=" + divisa + "importo=" + importo + "esempiodicalcolomac";

byte[] SHAresult;
SHA1 shaM = new SHA1Managed();
SHAresult = shaM.ComputeHash(Encoding.Default.GetBytes(SHA));
string SHAresultStr = BitConverter.ToString(SHAresult).Replace("-", "");

//----- /calcolo mac ---------



//------- Creo il POST ------------
var remotePostHelper = new RemotePost();
remotePostHelper.FormName = "form1";
//remotePostHelper.Url = GetBpmUrl();
remotePostHelper.Add("codTrans", codTrans);
remotePostHelper.Add("divisa", divisa);
remotePostHelper.Add("importo", importo);
//remotePostHelper.Add("url", url);
// remotePostHelper.Add("alias", alias);


remotePostHelper.Add("mac", SHAresultStr);

//remotePostHelper.Add("Ds_Merchant_TransactionType" , strDs_Merchant_TransactionType);
//remotePostHelper.Add("Ds_Merchant_UrlKO", strDs_Merchant_UrlKO);

remotePostHelper.Post();
}
//------------- /creo il POST --------------



==> Le linee guida della banca sono le seguenti:

Il mac sarà calcolato nel seguente modo:
mac= HASH SHA(codTrans=<valore codTrans>divisa=<valore
divisa>importo=<valore importo><chiave segreta”)

Un esempio di tale stringa potrebbe essere:
“codTrans=testCILME534divisa=EURimporto=1esempiodi calcolomac”

allora il campo mac sarà:
mac= HASH
SHA(“codTrans=testCILME534divisa=EURimporto=1esemp iodicalcolomac”)

Il valore ottenuto sarà:
"992e40c00b79ad1a6e4a5a8c61e776e696796a79"