支付寶介面(目前應該是好的)

2021-06-09 03:05:32 字數 2244 閱讀 4836

支付寶的介面呼叫很不方便,剛做好乙個封裝,實現了虛擬交易和實物交易。

解決方案中有三個專案以及ndoc生成的文件,簡單的序列圖:commonalipay,封裝的支付寶介面。

testali,asp.net的測試專案

testcommonalipay,nunit的測試專案。

呼叫方法:

1、引入commonalipay.dll

2、實現支付寶服務介面的方法呼叫方式:

alipay ap = new alipay();

string key = "";//填寫自己的key

string partner = "";//填寫自己的partner

standardgoods bp = new standardgoods("trade_create_by_buyer", partner, key, "md5", "卡2", guid.newguid().tostring(), 2.551m, 1, "[email protected]", "[email protected]"

, "ems", 25.00m, "buyer_pay","1");

bp.notify_url = "";

ap.createstandardtrade("", 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.notify_url = "";

ap.createdigitaltrade("", 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...

好的領導應該是什麼脾氣

脾氣好的領導看似好,其實是一種自私的表現,不想讓你的下屬變得強大和超越他!我們要記住 1 對你有嚴格要求的的領導,才是真正能幫助你成長的好領導,使我痛苦者,必使我強大。2 再強大的個人,在溫暖的環境中都會失去狼性。3 凡是想方設法逼出員工的能力,開發員工潛力的公司都會公升騰不息,因為在這種環境下,要...

支付寶APP介面SDK的坑分享

par ams ali pays dk par ams ali pays dk this alipaysdkversion 我使用的是alipay sdk php 3.0.0的sdk,你們自己要看具體的包來找相應 2 3.0的sdk,雖然文件上寫著簽名方法可以自行選用rsa或rsa2,但實際上rsa...