PDA

View Full Version : ارسال اطلاعات به بانک سامان



jaykob
چهارشنبه 03 فروردین 1390, 13:34 عصر
سلام دوستان

من برای پرداخت الکترونیکی بانک سامان متوجه شدم که باید این وب سرویس را اضافه کنم :

https://acquirer.sb24.com/ref-payment/ws/ReferencePayment?WSDL

در بانک سامان گفته شده که فلان اطلاعات با متد POST ارسال بشه و از طرف بانک هم با متد POST به شما ارسال می شود . با گرفتن اطلاعات مشکلی ندارم فقط می خواستم ببینم در asp.net چطور اطلاعات را با POST در HTML ارسال کنم نمونه کد HTML هم به شکل زیر است :



<form action="https://acquirer.sb24.com/CardServices/controller" method="post">


<input name="Amount" type="hidden" value="100" /> مبلغ به ریال

<input name="ResNum" type="hidden" value="30" /> شماره سفارش که شما باید ارسال کنید

<input name="MID" type="hidden" value="111111-11111" /> آی دی که سامان داده

<input name="RedirectURL" type="hidden" value="http://site.com/callback.aspx" /> آدرس برگشتی پس از خرید





<input name="Button1" type="submit" value="button" />



</form>




ممنون می شم راهنمایی کاملی بفرمایید .

با تشکر از همه دوستان

raziee
چهارشنبه 03 فروردین 1390, 18:39 عصر
دوست من فرستادن اطلاعات نباید از طریق سرور انجام بشه(چون قصد هدایت کاربر به صفحه بانک رو دارید)
بنابر این باید کد ها تون در کلاینت کاربر رو هدایت کنه. بوسیله ی JavaScript و یا HTML
اما اگه قصد گرفتن تائیدیه و یا ... هستید که به کاربر مربوط نمیشه :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.Net.Security;
using System.Collections;
using System.Net.Sockets;
using System.Security.Authentication;
using System.Security.Cryptography.X509Certificates;
using System.Net;
using System.Security.Cryptography;

namespace ResiptPage
{
public partial class ChechSSL : System.Web.UI.Page
{

protected void Page_Load(object sender, EventArgs e)
{

}

private string createfpHash(string signacher)
{
string key = "eoXaEm2LUnz2OiyQ";
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();

byte[] keyByte = encoding.GetBytes(key);

HMACMD5 hmacmd5 = new HMACMD5(keyByte);

byte[] messageBytes = encoding.GetBytes(signacher);

byte[] hashmessage = hmacmd5.ComputeHash(messageBytes);

return signacher = ByteToString(hashmessage);
}

private string ByteToString(byte[] buff)
{
string sbinary = "";

for (int i = 0; i < buff.Length; i++)
{
sbinary += buff[i].ToString("X2"); // hex format
}
return (sbinary);
}


protected void Button2_Click(object sender, EventArgs e)
{
using (var client = new WebClient())
{
var datatopost = Encoding.Default.GetBytes(""); //encoding.default.getbytes("param1=value1&param2=value2");
string emza = createfpHash("737218180013^577^1265011576^1^Rial");
var result = client.UploadData
(@"https://Damoon.bsi.ir/DamoonVerificationController?x_description=damoon test&x_login=737218180013&x_fp_sequence=577&x_fp_timestamp=1265011576&x_amount=1&x_currency_code=Rial&x_fp_hash=" +
emza, "post", datatopost);
// do something with the result
string dd = Encoding.ASCII.GetString(result);
Response.Write("<Div>");

Response.Write(dd.Remove(dd.IndexOf("<")));

Response.Write("</Div>");
string[] arrayofdata = dd.Remove(dd.IndexOf("<")).Split(new char[2] { '&','=' });
foreach (string ssss in arrayofdata)
{
Response.Write(ssss);
Response.Write("</br>");
}
}
}
}
}