日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#.net 支付宝接口

發布時間:2023/12/19 C# 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#.net 支付宝接口 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉:http://blog.csdn.net/jxufewbt/archive/2007/08/04/1726168.aspx

復制C#代碼保存代碼
using System;
using System.Data;
using System.Configuration;
using System.Collections;
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;

public partial class pay : System.Web.UI.Page
{
??? protected void Page_Load(object sender, EventArgs e)
??? {
??????? Encoding gb2312 = Encoding.GetEncoding("gb2312");
??????? Response.ContentEncoding = gb2312;
??????? Request.ContentEncoding = gb2312;
??? }

??? protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
??? {
??????? if (Request.Cookies[FormsAuthentication.FormsCookieName] != null)
??????? {
??????????? Vlike_DB_read a = new Vlike_DB_read();
??????????? string zfb_ddh = a.get_zfb_id(Membership.GetUser().UserName, Convert.ToInt32(DropDownList1.SelectedValue));
??????????? Response.Redirect(img("0001", "包月", "影視包月? 10元/月", zfb_ddh, "10.00", Membership.GetUser().UserName.ToUpper(), DropDownList1.SelectedValue));
??????? }
??????? else
??????? {
??????????? Response.Write("<script type='text/javascript'>alert('請先登陸!');</script>");
??????? }
??? }

??? private string img(string strcmd, string strSub, string strSubinfo, string strid, string strMoney, string strUser, string strNum)
??? {
??????? string strsellerEmail = "341081@qq.com";????????? //賣家支付寶帳號
??????? string strAc = "";???????     //賣家支付寶安全校驗碼
??????? string INTERFACE_URL = "https://www.alipay.com/payto:";
??????? string strCmd = strcmd;?????????? //命令字
??????? string strSubject = strSub;?????? //商品名
??????? string strBody = strSubinfo;????? //商品描述
??????? string strOrder_no = strid;?????? //商戶訂單號
??????? string strPrice = strMoney;?????? //商品單價 0.01~50000.00
??????? string rurl = "http://";????????? //商品展示網址
??????? string strType = "2";???????????? //type支付類型??? 1:商品購買2:服務購買3:網絡拍賣4:捐贈
??????? string strNumber = strNum;??????? //購買數量
??????? string strTransport = "3";??????? //發貨方式??????? 1:平郵2:快遞3:虛擬物品
??????? string strOrdinary_fee = "";????? //平郵運費
??????? string strExpress_fee = "";?????? //快遞運費
??????? string strReadOnly = "true";????? //交易信息是否只讀
??????? string strBuyer_msg = "";???????? //買家給賣家的留言

??????? string strBuyer = "";???????????? //買家EMAIL
??????? string strBuyer_name = strUser;?? //買家姓名
??????? string strBuyer_address = "";???? //買家地址
??????? string strBuyer_zipcode = "";???? //買家郵編
??????? string strBuyer_tel = "";???????? //買家電話號碼
??????? string strBuyer_mobile = "";????? //買家手機號碼
??????? string strPartner = "";?????????? //合作伙伴ID??? 保留字段

??????? return CreatUrl(strsellerEmail, strAc, INTERFACE_URL, strCmd, strSubject, strBody,
??????????? strOrder_no, strPrice, rurl, strType, strNumber, strTransport,
??????????? strOrdinary_fee, strExpress_fee, strReadOnly, strBuyer_msg, strBuyer,
??????????? strBuyer_name, strBuyer_address, strBuyer_zipcode, strBuyer_tel,
??????????? strBuyer_mobile, strPartner);
??? }
??? private string CreatUrl(
??????? string strsellerEmail,
??????? string strAc,
??????? string INTERFACE_URL,
??????? string strCmd,
??????? string strSubject,
??????? string strBody,
??????? string strOrder_no,
??????? string strPrice,
??????? string rurl,
??????? string strType,
??????? string strNumber,
??????? string strTransport,
??????? string strOrdinary_fee,
??????? string strExpress_fee,
??????? string strReadOnly,
??????? string strBuyer_msg,
??????? string strBuyer,
??????? string strBuyer_name,
??????? string strBuyer_address,
??????? string strBuyer_zipcode,
??????? string strBuyer_tel,
??????? string strBuyer_mobile,
??????? string strPartner)
??? {?? //以下參數值不能留空

??????? string str2CreateAc = "";
??????? str2CreateAc += "cmd" + strCmd + "subject" + strSubject;
??????? str2CreateAc += "body" + strBody;
??????? str2CreateAc += "order_no" + strOrder_no;
??????? str2CreateAc += "price" + strPrice;
??????? str2CreateAc += "url" + rurl;
??????? str2CreateAc += "type" + strType;
??????? str2CreateAc += "number" + strNumber;
??????? str2CreateAc += "transport" + strTransport;
??????? str2CreateAc += "ordinary_fee" + strOrdinary_fee;
??????? str2CreateAc += "express_fee" + strExpress_fee;
??????? str2CreateAc += "readonly" + strReadOnly;
??????? str2CreateAc += "buyer_msg" + strBuyer_msg;
??????? str2CreateAc += "seller" + strsellerEmail;
??????? str2CreateAc += "buyer" + strBuyer;
??????? str2CreateAc += "buyer_name" + strBuyer_name;
??????? str2CreateAc += "buyer_address" + strBuyer_address;
??????? str2CreateAc += "buyer_zipcode" + strBuyer_zipcode;
??????? str2CreateAc += "buyer_tel" + strBuyer_tel;
??????? str2CreateAc += "buyer_mobile" + strBuyer_mobile;
??????? str2CreateAc += "partner" + strPartner;
??????? str2CreateAc += strAc;


??????? string acCode = GetMD5(str2CreateAc);

??????? string parameter = "";

??????? parameter += INTERFACE_URL + strsellerEmail + "?cmd=" + strCmd;
??????? parameter += "&subject=" + Server.UrlEncode(strSubject);
??????? parameter += "&body=" + Server.UrlEncode(strBody);
??????? parameter += "&order_no=" + strOrder_no;
??????? parameter += "&url=" + rurl;
??????? parameter += "&price=" + strPrice;
??????? parameter += "&type=" + strType;
??????? parameter += "&number=" + strNumber;
??????? parameter += "&transport=" + strTransport;
??????? parameter += "&ordinary_fee=" + strOrdinary_fee;
??????? parameter += "&express_fee=" + strExpress_fee;
??????? parameter += "&readonly=" + strReadOnly;
??????? parameter += "&buyer_msg=" + strBuyer_msg;
??????? parameter += "&buyer=" + strBuyer;
??????? parameter += "&buyer_name=" + Server.UrlEncode(strBuyer_name);
??????? parameter += "&buyer_address=" + strBuyer_address;
??????? parameter += "&buyer_zipcode=" + strBuyer_zipcode;
??????? parameter += "&buyer_tel=" + strBuyer_tel;
??????? parameter += "&buyer_mobile=" + strBuyer_mobile;
??????? parameter += "&partner=" + strPartner;
??????? parameter += "&ac=" + acCode;

??????? return parameter;
??? }

??? private static string GetMD5(string s)
??? {
??????? System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
??????? byte[] t = md5.ComputeHash(System.Text.Encoding.GetEncoding("gb2312").GetBytes(s));
??????? System.Text.StringBuilder sb = new System.Text.StringBuilder(32);
??????? for (int i = 0; i < t.Length; i++)
??????? {
??????????? sb.Append(t[i].ToString("x").PadLeft(2, '0'));
??????? }
??????? return sb.ToString();
??? }
}
接收支付寶信息并進行相應操作

復制ASPX代碼保存代碼
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Web" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Net" %>
<%@ Import Namespace="System.Text" %>
<%@ Import Namespace="System.Security.Cryptography" %>

<script type="text/C#" runat="server">
private string returnTxt = "N";????????????? //返回給支付寶通知接口的結果
private string alipayNotifyURL = "http://notify.alipay.com/trade/notify_query.do?";??? //支付寶查詢接口URL
private string myalipayEmail = "341081@qq.com";??????????? //商戶的支付寶Email
private string constPaySecurityCode = "";????????????????? //碼
private SqlConnection conn = new SqlConnection();

private string GetMD5(string s)
{
??? System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
??? byte[] t = md5.ComputeHash(System.Text.Encoding.GetEncoding("gb2312").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();
}

private String Get_Http(String a_strUrl, int timeout)
{
??? string strResult;
??? try
??? {
??????? System.Net.HttpWebRequest myReq = (System.Net.HttpWebRequest) System.Net.HttpWebRequest.Create(a_strUrl);
??????? myReq.Timeout = timeout;
??????? System.Net.HttpWebResponse HttpWResp = (System.Net.HttpWebResponse) myReq.GetResponse();
??????? Stream myStream = HttpWResp.GetResponseStream();
??????? StreamReader sr = new StreamReader(myStream, System.Text.Encoding.Default);
??????? System.Text.StringBuilder strBuilder = new System.Text.StringBuilder();
??????? while (-1 != sr.Peek())
??????? {
??????????? strBuilder.Append(sr.ReadLine() + "\r\n");
??????? }
??????? strResult = strBuilder.ToString();
??? }
??? catch (Exception exp)
??? {
??????? strResult = "錯誤:" + exp.Message;
??? }
??? return strResult;
}
public void send(string sql)
{
??? string dbconn = "data source=127.0.0.1;UID=Cm;PWD=fallenangel;database=text";
??? conn = new SqlConnection(dbconn);
??? conn.Open();
??? SqlCommand cmd = new SqlCommand(sql, conn);
??? int aa = cmd.ExecuteNonQuery();
??? conn.Close();
}

private void Page_Load(object sender, System.EventArgs e)
{
??? //檢查支付寶通知接口傳遞過來的參數是否合法
??? string msg_id = System.Web.HttpContext.Current.Request["msg_id"];
??? string order_no = System.Web.HttpContext.Current.Request["order_no"];
??? string gross = System.Web.HttpContext.Current.Request["gross"];
??? string buyer_email = System.Web.HttpContext.Current.Request["buyer_email"];
??? string buyer_name = System.Web.HttpContext.Current.Request["buyer_name"];
??? string buyer_address = System.Web.HttpContext.Current.Request["buyer_address"];
??? string buyer_zipcode = System.Web.HttpContext.Current.Request["buyer_zipcode"];
??? string buyer_tel = System.Web.HttpContext.Current.Request["buyer_tel"];
??? string buyer_mobile = System.Web.HttpContext.Current.Request["buyer_mobile"];
??? string action = System.Web.HttpContext.Current.Request["action"];
??? string s_date = System.Web.HttpContext.Current.Request["date"];
??? string ac = System.Web.HttpContext.Current.Request["ac"];
??? string notify_type = System.Web.HttpContext.Current.Request["notify_type"];
??? alipayNotifyURL = alipayNotifyURL + "msg_id=" + msg_id + "&email=" + myalipayEmail + "&order_no=" + order_no;

??? //獲取支付寶ATN返回結果,true和false都是正確的訂單信息,invalid 是無效的
??? string responseTxt = Get_Http(alipayNotifyURL, 120000);
??? string Str = "msg_id" + msg_id + "order_no" + order_no + "gross" + gross + "buyer_email" + buyer_email + "buyer_name" + buyer_name + "buyer_address" + buyer_address + "buyer_zipcode" + buyer_zipcode + "buyer_tel" + buyer_tel + "buyer_mobile" + buyer_mobile + "action" + action + "date" + s_date + constPaySecurityCode;

??? string ac_code = GetMD5(Str);

??? if (action == "test") //支付寶接口測試是否有效
??? {
??????? returnTxt = "Y";
??? }
??? if (action == "sendOff")? //發貨通知
??? {
??????? if (responseTxt.Substring(0, 4) == "true"
??????????? || responseTxt.Substring(0, 4) == "fals")//ATN,驗證消息是否支付寶發過來
??????? {
??????????? if (ac_code == ac)//驗證消息是否被修改
??????????? {
??????????????? //數據庫操作
??????????? }
??????? }
??? }
??? if (action == "checkOut")? //交易完成通知
??? {
??????? returnTxt = "N";
??????? if (responseTxt.Substring(0, 4) == "true"
??????????? || responseTxt.Substring(0, 4) == "fals")//ATN,驗證消息是否支付寶發過來
??????? {
??????????? if (ac_code == ac)//驗證消息是否被修改
??????????? {
??????????????? //數據庫操作???
??????????? }
??????? }
??? }
??? System.Web.HttpContext.Current.Response.Write(returnTxt);
}
</script>

轉載于:https://www.cnblogs.com/Dragon-China/archive/2007/10/10/919584.html

總結

以上是生活随笔為你收集整理的C#.net 支付宝接口的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。