usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Security.Cryptography;usingSystem.Net;usingSystem.IO;usingSystem.Web;namespaceConsoleApplication1{classProgram{staticvoidMain(string[]args){stringmerchantId="MERCHANT-ID";stringkey="MERCHANT-PASSWORD";stringdata="operationType=debit&merchantId="+merchantId+"&customerId=19&customerEmail=test.staging@mm.com&amount=20.0&description=debit&country=MT¤cy=EUR&addressLine1=1, test Str&city=Sliema&postCode=12345&telephone=99999999&firstname=test&lastname=Staging&customerCountry=GB&merchantTransactionId=2015060110fds00163&productId=4354353&language=en&dob=31-12-1970";stringencrypted=AesEncryption(data,key);stringintegrityCheck=sha256_hash(data);stringURI="https://checkout-stg.easypaymentgateway.com/EPGCheckout/rest/online/tokenize";stringmyParameters="encrypted="+UTF8Encoding(encrypted)+"&integrityCheck="+integrityCheck+"&merchantId="+"1073";stringHtmlResult="response";using(WebClientwc=newWebClient()){wc.Headers[HttpRequestHeader.ContentType]="application/x-www-form-urlencoded";HtmlResult=wc.UploadString(URI,myParameters);}Console.Write(HtmlResult);}publicstaticStringUTF8Encoding(Stringdata){returnSystem.Net.WebUtility.UrlEncode(data);}publicstaticstringGetSha256Hash(stringdata){System.Security.Cryptography.SHA256Managedcrypt=newSystem.Security.Cryptography.SHA256Managed();System.Text.StringBuilderhash=newSystem.Text.StringBuilder();byte[]crypto=crypt.ComputeHash(Encoding.UTF8.GetBytes(data));foreach(bytebitincrypto){hash.Append(bit.ToString("x2"));}returnhash.ToString();}publicstaticStringsha256_hash(Stringvalue){using(SHA256hash=SHA256Managed.Create()){returnString.Join("",hash.ComputeHash(Encoding.UTF8.GetBytes(value)).Select(item=>item.ToString("x2")));}}publicstaticstringAesEncryption(stringdata,stringkey){AesManagedaes=newAesManaged();aes.Key=Encoding.UTF8.GetBytes(key);aes.Mode=CipherMode.ECB;aes.Padding=PaddingMode.PKCS7;//aes.KeySize=256;//aes.BlockSize=128;//aes.IV=newbyte[16];ICryptoTransformcrypt=aes.CreateEncryptor();byte[]encBytes=Encoding.UTF8.GetBytes(data);byte[]resultBytes=crypt.TransformFinalBlock(encBytes,0,encBytes.Length);returnConvert.ToBase64String(resultBytes);}}}
Comments (0)
HTTPSSSH
You can clone a snippet to your computer for local editing.
Learn more.