asp 支付宝 企业版 接口 支持网银接口 ,网银直接支付
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                asp 支付宝 企业版 接口 支持网银接口 ,网银直接支付
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                asp 支付寶 企業版 接口 支持網銀接口 ,網銀直接支付 只是多了一個defalutbank的參數。具體看?
 
open.alipay.com
 
<% ' 類名:AlipaySubmit ' 功能:支付寶各接口請求提交類 ' 詳細:構造支付寶各接口表單HTML文本,獲取遠程HTTP數據 ' 版本:3.3 ' 修改日期:2012-07-13 ' 說明: ' 以下代碼只是為了方便商戶測試而提供的樣例代碼,商戶可以根據自己網站的需要,按照技術文檔編寫,并非一定要使用該代碼。 ' 該代碼僅供學習和研究支付寶接口使用,只是提供一個參考 %><!--#include file="alipay_config.asp"--> <!--#include file="alipay_core.asp"--><%'支付寶網關地址(新) GATEWAY_NEW = "https://mapi.alipay.com/gateway.do?"Class AlipaySubmit''' 生成簽名結果' param sParaSort 待簽名的數組' return 簽名結果字符串Private Function BuildRequestMysign(sParaSort)'把數組所有元素,按照“參數=參數值”的模式用“&”字符拼接成字符串prestr = CreateLinkstring(sParaSort)'獲得簽名結果Select Case sign_typeCase "MD5" BuildRequestMysign = Md5Sign(prestr,key,input_charset)Case Else BuildRequestMysign = ""End SelectEnd Function''' 生成要請求給支付寶的參數數組' param sParaTemp 請求前的參數數組' return 要請求的參數數組Private Function BuildRequestPara(sParaTemp)Dim mysign'過濾簽名參數數組sPara = FilterPara(sParaTemp)'對請求參數數組排序sParaSort = SortPara(sPara)'獲得簽名結果mysign = BuildRequestMysign(sParaSort)'簽名結果與簽名方式加入請求提交參數組中nCount = ubound(sParaSort)Redim Preserve sParaSort(nCount+1)sParaSort(nCount+1) = "sign="&mysignRedim Preserve sParaSort(nCount+2)sParaSort(nCount+2) = "sign_type="&sign_typeBuildRequestPara = sParaSortEnd Function''' 生成要請求給支付寶的參數數組字符串' param sParaTemp 請求前的參數數組' return 要請求的參數數組字符串Private Function BuildRequestParaToString(sParaTemp)Dim sRequestData'待簽名請求參數數組sPara = BuildRequestPara(sParaTemp)'把參數組中所有元素,按照“參數=參數值”的模式用“&”字符拼接成字符串,并且對其做urlencode編碼處理sRequestData = CreateLinkStringUrlEncode(sPara)BuildRequestParaToString = sRequestDataEnd Function''' 建立請求,以表單HTML形式構造(默認)' param sParaTemp 請求前的參數數組' param sMethod 提交方式。兩個值可選:post、get' param sButtonValue 確認按鈕顯示文字' return 提交表單HTML文本Public Function BuildRequestForm(sParaTemp, sMethod, sButtonValue)Dim sHtml, nCount'待請求參數數組sPara = BuildRequestPara(sParaTemp)sHtml = "<form id='alipaysubmit' name='alipaysubmit' action='"& GATEWAY_NEW &"_input_charset="&input_charset&"' method='"&sMethod&"'>"nCount = ubound(sPara)For i = 0 To nCount'把sPara的數組里的元素格式:變量名=值,分割開來iPos = Instr(sPara(i),"=") '獲得=字符的位置nLen = Len(sPara(i)) '獲得字符串長度sItemName = left(sPara(i),iPos-1) '獲得變量名sItemValue = right(sPara(i),nLen-iPos)'獲得變量的值sHtml = sHtml & "<input type='hidden' name='"& sItemName &"' value='"& sItemValue &"'/>"next'submit按鈕控件請不要含有name屬性'submit按鈕默認設置為不顯示sHtml = sHtml & "<input type='submit' value='"&sButtonValue&"' style='display:none;'></form>"sHtml = sHtml & "<script>document.forms['alipaysubmit'].submit();</script>"BuildRequestForm = sHtmlEnd FunctionPublic Function BuildRequestFormbank( trade_no , subject , total_fee ,body ,show_url )Dim sHtmlsHtml = "<form name=alipayment action=alipayapi.asp method=post>"sHtml = sHtml & " <input size=""30"" name=""WIDout_trade_no"" type='hidden' value="""& trade_no &"""/>"sHtml = sHtml & " <input size=""30"" name=""WIDsubject"" type='hidden' value="""& subject &"""/>"sHtml = sHtml & " <input size=""30"" name=""WIDtotal_fee"" type='hidden' value="""& total_fee &"""/>"sHtml = sHtml & " <input size=""30"" name=""WIDbody"" type='hidden' value="""& body &"""/>"sHtml = sHtml & " <input size=""30"" name=""WIDshow_url"" type='hidden' value="""& show_url &"""/>"sHtml = sHtml & " <style>"sHtml = sHtml & " ul.bank { padding:0px;margin-left:30px;}"sHtml = sHtml & " ul.bank li { list-style:none; float:left; padding:5px;}"sHtml = sHtml & " </style>"sHtml = sHtml & ""sHtml = sHtml & " <UL class=""bank fix"">"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""ICBCB2C"" type=""radio""> ??"sHtml = sHtml & " <IMG alt=""中國工商銀行"" align=""middle"" src=""images/bank_gsyh2.gif"">"sHtml = sHtml & " </LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""CMB"" type=""radio"">?? <IMG alt=""招商銀行"""sHtml = sHtml & " align=""middle"""sHtml = sHtml & " src=""images/bank_zsyh2.gif""></LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""CCB"" type=""radio""> ??"sHtml = sHtml & " <IMG alt=""中國建設銀行"" align=""middle"""sHtml = sHtml & " src=""images/bank_jsyh2.gif""></LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""ABC"" type=""radio""> ??"sHtml = sHtml & " <IMG alt=""中國農業銀行"" align=""middle"""sHtml = sHtml & " src=""images/bank_nyyh2.gif""></LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""BOCB2C"" type=""radio""> ??"sHtml = sHtml & " <IMG alt=""中國銀行"" align=""middle"""sHtml = sHtml & " src=""images/bank_zgyh2.gif""></LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""COMM-DEBIT"" type=""radio""> ??"sHtml = sHtml & " <IMG alt=""交通銀行"" align=""middle"" src=""images/bank_jtyh.gif""></LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""CIB"" type=""radio""> ??"sHtml = sHtml & " <IMG alt=""興業銀行"" align=""middle"" src=""images/bank_xyyh.gif""></LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""CMBC"" type=""radio""> ??"sHtml = sHtml & " <IMG alt=""中國民生銀行"" align=""middle"" src=""images/bank_msyh2.gif"">"sHtml = sHtml & " </LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""GDB"" type=""radio"">?? <IMG alt=""廣東發展銀行"""sHtml = sHtml & " align=""middle"""sHtml = sHtml & " src=""images/bank_gdfz.gif""></LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""SPABANK"" type=""radio""> ??"sHtml = sHtml & " 平安銀行"sHtml = sHtml & " </LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""SPDB"" type=""radio""> ??"sHtml = sHtml & " <IMG alt=""上海浦東發展銀行"" align=""middle"""sHtml = sHtml & " src=""images/bank_pfyh.gif""></LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""CITIC"" type=""radio""> ??"sHtml = sHtml & " <IMG alt=""中信銀行"" align=""middle"" src=""images/bank_zxyh.gif""></LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""DEBIT"" type=""radio""> ??"sHtml = sHtml & " <IMG alt=""光大銀行"" align=""middle"" src=""images/bank_gdyh.gif""></LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""FDB"" type=""radio""> ??富滇銀行</LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""HZCBB2C"" type=""radio""> ??杭州銀行</LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""SHBANK"" type=""radio""> ??上海銀行</LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""NBBANK"" type=""radio""> ??寧波銀行</LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""POSTGC"" type=""radio""> ??中國郵政儲蓄銀行</LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""BJBANK"" type=""radio""> ??北京銀行</LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""SHRCB"" type=""radio""> ??上海農商銀行</LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""WZCBB2C-DEBIT "" type=""radio""> ??溫州銀行</LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""BJRCB"" type=""radio""> ??北京農村商業銀行</LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""abc1003"" type=""radio""> ??visa</LI>"sHtml = sHtml & " <LI><INPUT name=""WIDdefaultbank"" value=""abc1004"" type=""radio""> ??master</LI>"sHtml = sHtml & " </UL>"sHtml = sHtml & " <br><UL class=""bank fix"" style=""clear:both""><button class=""new-btn-login"" type=""submit"" style=""text-align:center;background-color: #ff8c00; color: #FFFFFF; font-weight: bold; "sHtml = sHtml &"border: medium none; width:82px;height:28px;"">確 認</button></UL>"'submit按鈕控件請不要含有name屬性'submit按鈕默認設置為不顯示'sHtml = sHtml & "<input type='submit' value='"&sButtonValue&"' style='display:none;'></form>"sHtml = sHtml & "</form>"BuildRequestFormbank = sHtmlEnd Function''' 建立請求,以HTML形式構造(默認)' param sParaTemp 請求前的參數數組' param sMethod 提交方式。兩個值可選:post、get' param sButtonValue 確認按鈕顯示文字' return 提交表單HTML文本Public Function BuildRequestUrl(sParaTemp, sMethod, sButtonValue)Dim sHtml, nCount'待請求參數數組sPara = BuildRequestPara(sParaTemp)sHtml = GATEWAY_NEW nCount = ubound(sPara)For i = 0 To nCount'把sPara的數組里的元素格式:變量名=值,分割開來iPos = Instr(sPara(i),"=") '獲得=字符的位置nLen = Len(sPara(i)) '獲得字符串長度sItemName = left(sPara(i),iPos-1) '獲得變量名sItemValue = right(sPara(i),nLen-iPos)'獲得變量的值sHtml = sHtml & "&"& sItemName &"="& sItemValuenext BuildRequestUrl= sHtmlEnd Function''' 建立請求,以模擬遠程HTTP的GET請求方式構造并獲取支付寶XML類型處理結果' param sParaTemp 請求前的參數數組' param sParaNode 要輸出的XML節點名' return 支付寶返回XML指定節點內容Public Function BuildRequestHttpXml(sParaTemp, sParaNode)Dim sUrl, objHttp, objXml, nCount, sParaXml()nCount = ubound(sParaNode)'待請求參數數組字符串sRequestData = BuildRequestParaToString(sParaTemp)'構造請求地址sUrl = GATEWAY_NEW & sRequestData'獲取遠程數據Set objHttp=Server.CreateObject("Microsoft.XMLHTTP")'如果Microsoft.XMLHTTP不行,那么請替換下面的兩行行代碼嘗試'Set objHttp = Server.CreateObject("Msxml2.ServerXMLHTTP.3.0")'objHttp.setOption 2, 13056objHttp.open "GET", sUrl, False, "", ""objHttp.send()Set objXml=Server.CreateObject("Microsoft.XMLDOM")objXml.Async=trueobjXml.ValidateOnParse=FalseobjXml.Load(objHttp.ResponseXML)Set objHttp = Nothingset objXmlData = objXml.getElementsByTagName("alipay").item(0)If Isnull(objXmlData.selectSingleNode("alipay")) ThenRedim Preserve sParaXml(1)sParaXml(0) = "錯誤:非法XML格式數據"ElseIf objXmlData.selectSingleNode("is_success").text = "T" ThenFor i = 0 To nCountRedim Preserve sParaXml(i+1)sParaXml(i) = objXmlData.selectSingleNode(sParaNode(i)).textNextElseRedim Preserve sParaXml(1)sParaXml(0) = "錯誤:"&objXmlData.selectSingleNode("error").textEnd IfEnd IfBuildRequestHttpXml = sParaXmlEnd Function''' 建立請求,以模擬遠程HTTP的GET請求方式構造并獲取支付寶純文字類型處理結果' param sParaTemp 請求前的參數數組' return 支付寶處理結果Public Function BuildRequestHttpWord(sParaTemp)Dim sUrl, objHttp, sResponseTxt'待請求參數數組字符串sRequestData = BuildRequestParaToString(sParaTemp)'構造請求地址sUrl = GATEWAY_NEW & sRequestData'獲取遠程數據Set objHttp=Server.CreateObject("Microsoft.XMLHTTP")'如果Microsoft.XMLHTTP不行,那么請替換下面的兩行行代碼嘗試'Set objHttp = Server.CreateObject("Msxml2.ServerXMLHTTP.3.0")'objHttp.setOption 2, 13056objHttp.open "GET", sUrl, False, "", ""objHttp.send()sResponseTxt = objHttp.ResponseTextSet objHttp = NothingBuildRequestHttpWord = sResponseTxtEnd Function''' 用于防釣魚,調用支付寶防釣魚接口(query_timestamp)來獲取時間戳的處理函數' 注意:遠程解析XML出錯,與IIS服務器配置有關' return 時間戳字符串Public Function Query_timestamp()Dim sUrl, encrypt_keysUrl = GATEWAY_NEW &"service=query_timestamp&partner="&partner&"&_input_charset="&input_charsetencrypt_key = ""Dim objHttp, objXmlSet objHttp=Server.CreateObject("Microsoft.XMLHTTP")'如果Microsoft.XMLHTTP不行,那么請替換下面的兩行行代碼嘗試'Set objHttp = Server.CreateObject("Msxml2.ServerXMLHTTP.3.0")'objHttp.setOption 2, 13056objHttp.open "GET", sUrl, False, "", ""objHttp.send()Set objXml=Server.CreateObject("Microsoft.XMLDOM")objXml.Async=trueobjXml.ValidateOnParse=FalseobjXml.Load(objHttp.ResponseXML)Set objHttp = NothingSet objXmlData = objXml.getElementsByTagName("encrypt_key") '節點的名稱If Isnull(objXml.getElementsByTagName("encrypt_key")) Thenencrypt_key = ""Elseencrypt_key = objXmlData.item(0).childnodes(0).textEnd IfQuery_timestamp = encrypt_keyEnd FunctionEnd Class%>
如有疑問請加QQ群?348615323 網店系統開發群
總結
以上是生活随笔為你收集整理的asp 支付宝 企业版 接口 支持网银接口 ,网银直接支付的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: NYOJ弟弟的作业
- 下一篇: matlab图像处理常用函数大全
