支付寶介面

2021-04-13 13:53:31 字數 2670 閱讀 5930

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

解決方案中有三個專案以及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中產生引數

支付寶介面

解決方案中有三個專案以及ndoc生成的文件,簡單的序列圖 commonalipay,封裝的支付寶介面。testali,asp.net的測試專案 testcommonalipay,nunit的測試專案。呼叫方法 1 引入commonalipay.dll 2 實現支付寶服務介面的方法呼叫方式 alipa...

支付寶介面

解決方案中有三個專案以及ndoc生成的文件,簡單的序列圖 commonalipay,封裝的支付寶介面。testali,asp.net的測試專案 testcommonalipay,nunit的測試專案。呼叫方法 1 引入commonalipay.dll 2 實現支付寶服務介面的方法呼叫方式 alipa...

支付寶介面

支付寶外部服務介面url 協議引數 與業務無關的引數 http引數簽名機制 簽名結構 email email partner 合作商id號 service 服務引數 input charset 字元編碼 注意1,沒有值的引數無需傳遞,也沒有必要附加到簽名資料中.2,簽名時將字元轉化成位元組流的時制定...