支付寶的介面呼叫很不方便,剛做好乙個封裝,實現了虛擬交易和實物交易。
解決方案中有三個專案以及ndoc生成的文件,簡單的序列圖:commonalipay,封裝的支付寶介面。
testali,asp.net的測試專案
testcommonalipay,nunit的測試專案。
呼叫方法:
1、引入commonalipay.dll
2、實現支付寶服務介面的方法呼叫方式:
alipayap= new alipay();
string key = "";//填寫自己的key
string partner = "";//填寫自己的partner
standardgoodsbp= new standardgoods("trade_create_by_buyer", partner, key, "md5", "卡2", guid.newguid().tostring(), 2.551m, 1, "[email protected]", "[email protected]"
", bp, this);上面是通用的呼叫方式。
下面是只支援虛擬貨物的方式:
string key = "";//填寫自己的key
string partner = "";//填寫自己的partner
alipay ap = new alipay();
digitalgoods bp = new digitalgoods("create_digital_goods_trade_p", partner, key, "md5", "卡2", guid.newguid().tostring(), 2.551m, 1, "[email protected]", "[email protected]");
", bp, this);3、實現支付寶通知介面方法的呼叫(支援虛擬和實物):
protected void page_load(object sender, eventargs e)
void ap_waitbuyerpay(object sender, notifyeventargs e)
private void ap_waitsellersendgoods(object sender, notifyeventargs e)
支付寶的交易狀態都被定義成了類似名稱的事件。
部分源**解析:
1、解析forms集合到notifyeventargs類,因為後面此類的資料要用來做md5sign,所以所有值型別,不能存在初始值,如:int的0等。因此用nullable范型。
private notifyeventargs parsenotify(namevaluecollection nv, object obj)
else if (pi.propertytype == typeof(int?))
else if (pi.propertytype == typeof(decimal?))
else if (pi.propertytype == typeof(datetime?))
else if (pi.propertytype == typeof(bool))
else}}
return (notifyeventargs)obj;
}2、從型別中獲取排序後的引數
/**
/// 獲取排序後的引數
///
///
///
private sortedlistgetparam(object obj)
sortedlist.add(pi.name.tolower(), pi.getvalue(obj, null).tostring());}}
return sortedlist;
}3、從sortedlist中產生引數
private string geturlparam(sortedlistsortedlist,bool isencode)
{stringbuilder param = new stringbuilder();
stringbuilder encodeparam = new stringbuilder();
if (isencode == false){
支付寶介面
支付寶的介面呼叫很不方便,剛做好乙個封裝,實現了虛擬交易和實物交易。解決方案中有三個專案以及ndoc生成的文件,簡單的序列圖 commonalipay,封裝的支付寶介面。testali,asp.net的測試專案 testcommonalipay,nunit的測試專案。呼叫方法 1 引入commona...
支付寶介面
解決方案中有三個專案以及ndoc生成的文件,簡單的序列圖 commonalipay,封裝的支付寶介面。testali,asp.net的測試專案 testcommonalipay,nunit的測試專案。呼叫方法 1 引入commonalipay.dll 2 實現支付寶服務介面的方法呼叫方式 alipa...
支付寶介面
解決方案中有三個專案以及ndoc生成的文件,簡單的序列圖 commonalipay,封裝的支付寶介面。testali,asp.net的測試專案 testcommonalipay,nunit的測試專案。呼叫方法 1 引入commonalipay.dll 2 實現支付寶服務介面的方法呼叫方式 alipa...