من از همچین متدی استفاده میکنم :
public void SendToBank(string amount,
string invoiceNumber,
string redirectUrl = "http://mycallbackurl.com",
string actionId = "1003")
{
var timeStamp = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
var invoiceDate = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
var rsa = new RSACryptoServiceProvider();
rsa.FromXmlString(PrivateKey);
var data = "#" + MerchantCode + "#" + TerminalCode + "#" + invoiceNumber + "#" + invoiceDate +
"#" + amount + "#" + redirectUrl + "#" + actionId + "#" + timeStamp + "#";
var signedData = rsa.SignData(Encoding.UTF8.GetBytes(data), new SHA1CryptoServiceProvider());
var signedString = Convert.ToBase64String(signedData);
var dp = new DataPost {Url = GatewayUrl, FormName = "form1", Method = "post"};
dp.AddKey("merchantCode", MerchantCode);
dp.AddKey("terminalCode", TerminalCode);
dp.AddKey("amount", amount);
dp.AddKey("redirectAddress", redirectUrl);
dp.AddKey("invoiceNumber", invoiceNumber);
dp.AddKey("invoiceDate", invoiceDate);
dp.AddKey("action", actionId);
dp.AddKey("sign", signedString);
dp.AddKey("timeStamp", timeStamp);
dp.Post();
}
که کد DataPost در خود نمونه کدهای پاسارگاد هست.