當前位置:編程學習大全網 - 源碼下載 - asp.net實現網上銀行在線交易是怎麽實現的?說的詳細壹點最好說出具體的流程還有代碼!謝謝!

asp.net實現網上銀行在線交易是怎麽實現的?說的詳細壹點最好說出具體的流程還有代碼!謝謝!

各大銀行基本不會為妳提供在線支付接口的 除非妳的網站夠大夠強。

試試第三方支付平臺接口使用 其實和銀行的接口程序使用方式壹樣。

說說支付寶接口吧。要收費的。現在沒有免費的了。最低套餐 -- 壹年600元。36000元的現金交易流量。最便宜的了。

主類:

AliPay.cs

using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Text;

using System.Security.Cryptography;

/// <summary>

/// New Interface for AliPay

/// </summary>

namespace Gateway

{

/// <summary>

/// created by sunzhizhi 2006.5.21,sunzhizhi@msn.com。

/// </summary>

public class AliPay

{

public static string GetMD5(string s, string _input_charset)

{

/// <summary>

/// 與ASP兼容的MD5加密算法

/// </summary>

MD5 md5 = new MD5CryptoServiceProvider();

byte[] t = md5.ComputeHash(Encoding.GetEncoding(_input_charset).GetBytes(s));

StringBuilder sb = new StringBuilder(32);

for (int i = 0; i < t.Length; i++)

{

sb.Append(t[i].ToString("x").PadLeft(2, '0'));

}

return sb.ToString();

}

public static string[] BubbleSort(string[] r)

{

/// <summary>

/// 冒泡排序法

/// </summary>

int i, j; //交換標誌

string temp;

bool exchange;

for (i = 0; i < r.Length; i++) //最多做R.Length-1趟排序

{

exchange = false; //本趟排序開始前,交換標誌應為假

for (j = r.Length - 2; j >= i; j--)

{

if (System.String.CompareOrdinal(r[j + 1], r[j]) < 0) //交換條件

{

temp = r[j + 1];

r[j + 1] = r[j];

r[j] = temp;

exchange = true; //發生了交換,故將交換標誌置為真

}

}

if (!exchange) //本趟排序未發生交換,提前終止算法

{

break;

}

}

return r;

}

public string CreatUrl(

string gateway,

string service,

string partner,

string sign_type,

string out_trade_no,

string subject,

string body,

string payment_type,

string total_fee,

string show_url,

string seller_email,

string key,

string return_url,

string _input_charset,

string notify_url,

string logistics_type,

string logistics_fee,

string logistics_payment,

string logistics_type_1,

string logistics_fee_1,

string logistics_payment_1,

string quantity

)

{

/// <summary>

/// created by sunzhizhi 2006.5.21,sunzhizhi@msn.com。

/// </summary>

int i;

//構造數組;

string[] Oristr ={

"service="+service,

"partner=" + partner,

"subject=" + subject,

"body=" + body,

"out_trade_no=" + out_trade_no,

"price=" + total_fee,

"show_url=" + show_url,

"payment_type=" + payment_type,

"seller_email=" + seller_email,

"notify_url=" + notify_url,

"_input_charset="+_input_charset,

"return_url=" + return_url,

"quantity="+quantity,

"logistics_type="+logistics_type,

"logistics_fee="+logistics_fee ,

"logistics_payment="+logistics_payment,

"logistics_type_1="+logistics_type_1,

"logistics_fee_1="+logistics_fee_1,

"logistics_payment_1="+logistics_payment_1

};

//進行排序;

string[] Sortedstr = BubbleSort(Oristr);

//構造待md5摘要字符串 ;

StringBuilder prestr = new StringBuilder();

for (i = 0; i < Sortedstr.Length; i++)

{

if (i == Sortedstr.Length - 1)

{

prestr.Append(Sortedstr[i]);

}

else

{

prestr.Append(Sortedstr[i] + "&");

}

}

prestr.Append(key);

//生成Md5摘要;

string sign = GetMD5(prestr.ToString(), _input_charset);

//構造支付Url;

char[] delimiterChars = { '='};

StringBuilder parameter = new StringBuilder();

parameter.Append(gateway);

for (i = 0; i < Sortedstr.Length; i++)

{

parameter.Append(Sortedstr[i].Split(delimiterChars)[0] + "=" + HttpUtility.UrlEncode(Sortedstr[i].Split(delimiterChars)[1]) + "&");

}

parameter.Append("sign=" + sign + "&sign_type=" + sign_type);

//返回支付Url;

return parameter.ToString();

}

}

}

支付寶上提供源程序 和說明文檔

  • 上一篇:FPS遊戲《無畏契約》國服正式上線。妳有什麽經歷或者想說什麽?
  • 下一篇:江西有哪些特產?
  • copyright 2024編程學習大全網