欢迎来到安信科技官方网站!【www.anxin66.com】
18112005550
工作时间: 8:30-21:30
新闻中心
News Center

微信扫码支付asp接口源码分享(2.asp微信公众号接口类文件)

资讯分类: 移动微信  浏览: 2019年10月31日

以下为类文件:class.asp源代码

----------------------------------------------

dim create_ip,nonce_str,timeStamp,xmlhttp,preCookies

preCookies = "WOS2329erewr4I3" 'Cookie前缀,同一个网站下,多个支付需要修改
create_ip = Request.ServerVariables("REMOTE_ADDR")
nonce_str = GetRnd(10)
timeStamp = ToUnixTime(now())
xmlhttp = "Msxml2.ServerXMLHTTP"'"Msxml2.ServerXMLHTTP.6.0"
'Microsoft.XMLHTTP
'Microsoft.XMLHTTP.1.0
'Msxml2.ServerXMLHTTP.6.0
'Msxml2.ServerXMLHTTP.5.0
'Msxml2.ServerXMLHTTP.4.0
'Msxml2.ServerXMLHTTP.3.0
'Msxml2.ServerXMLHTTP
'Msxml2.XMLHTTP.6.0
'Msxml2.XMLHTTP.5.0
'Msxml2.XMLHTTP.4.0
'Msxml2.XMLHTTP.3.0
'Msxml2.XMLHTTP
'microsoft.xmlhttp
'Msxml2.XMLHTTP
'WinHttp.WinHttpRequest.5.1
'MSXML2.SERVERXMLHTTP.3.0
'以上为候选参数


'Native支付1,返回固定链接
function get_Native_code_url()
dim postData,signValue,post_url,sign,returnXml,xml_dom
post_url= "https://api.mch.weixin.qq.com/pay/unifiedorder"
sign="appid="&getAppId&"&body="&body&"&mch_id="&getMCHID&"&nonce_str="&nonce_str&"&notify_url="&notify_url&"&out_trade_no="&out_trade_no&"&product_id="&product_id&"&spbill_create_ip="&create_ip&"&total_fee="&total_fee&"&trade_type=NATIVE&key="&getPartnerKey
signValue=UCase(MD5(sign,"UTF-8"))
postData="<xml>"&_
"<appid><![CDATA["&getAppId&"]]></appid>"&_
"<body><![CDATA["&body&"]]></body>"&_
"<mch_id><![CDATA["&getMCHID&"]]></mch_id>"&_
"<nonce_str><![CDATA["&nonce_str&"]]></nonce_str>"&_
"<notify_url><![CDATA["&notify_url&"]]></notify_url>"&_
"<out_trade_no><![CDATA["&out_trade_no&"]]></out_trade_no>"&_
"<product_id><![CDATA["&product_id&"]]></product_id>"&_
"<spbill_create_ip><![CDATA["&create_ip&"]]></spbill_create_ip>"&_
"<total_fee><![CDATA["&total_fee&"]]></total_fee>"&_
"<trade_type><![CDATA[NATIVE]]></trade_type>"&_
"<sign><![CDATA["&signValue&"]]></sign>"&_
"</xml>"
returnXml=PostURL("http://www.xxasp.net/pay/?url="&post_url,postData)
set xml_dom=Server.CreateObject("MSXML2.DOMDocument")
xml_dom.loadXml(returnXml)
dim return_code,return_msg,result_code,err_code_des,prepay_id,code_url
return_code=xml_dom.getelementsbytagname("return_code").item(0).text
if return_code="FAIL" then
'协议级错误
return_msg=xml_dom.getelementsbytagname("return_msg").item(0).text
response.Write("协议级接口调用错误:"&return_msg)
response.End()
else
result_code=xml_dom.getelementsbytagname("result_code").item(0).text
if result_code="FAIL" then
'业务级错误
err_code_des=xml_dom.getelementsbytagname("err_code_des").item(0).text
response.Write("业务级支付错误:"&err_code_des)
response.End()
else
if return_code="SUCCESS" and result_code="SUCCESS" then
'数据正常
get_Native_code_url=xml_dom.getelementsbytagname("code_url").item(0).text
end if
end if
end if
end Function

'返回当前日期20140105024523
Function getStrNow()
dim strNow:strNow = Now()
strNow = Year(strNow) & Right(("00" & Month(strNow)),2) & Right(("00" & Day(strNow)),2) & Right(("00" & Hour(strNow)),2) & Right(("00" &  Minute(strNow)),2) & Right(("00" & Second(strNow)),2)
getStrNow = strNow
End Function

'获取随机数,返回 [min,max]范围的数
Function getRandNumber(max, min)
Randomize 
getRandNumber = CInt((max-min+1)*Rnd()+min) 
End Function

'获取随机数字的字符串,返回[min,max]范围的数字字符串
Function getStrRandNumber(max, min)
dim randNumber:randNumber = getRandNumber(max, min)
getStrRandNumber = CStr(randNumber)
End Function

Function GetRnd(t0)
randomize
dim n1,n2,n3
do while len(getrnd)<t0 '随机字符位数 
n1=cstr(chrw((57-48)*rnd+48)) '0~9 
n2=cstr(chrw((90-65)*rnd+65)) 'a~z 
n3=cstr(chrw((122-97)*rnd+97)) 'a~z 
getrnd=getrnd&n1&n2&n3 
loop
End Function

'时间戳转换成普通日期
Function FromUnixTime(intTime) 
If IsEmpty(intTime) Or Not IsNumeric(intTime) Then 
FromUnixTime = Now() 
Exit Function 
End If
FromUnixTime = DateAdd("s", intTime, "1970-1-1 0:0:0") 
FromUnixTime = DateAdd("h", 8, FromUnixTime) 
End Function

'普通日期转换成时间戳
Function ToUnixTime(strTime)        
If IsEmpty(strTime) or Not IsDate(strTime) Then strTime = Now   
ToUnixTime = DateAdd("h",-8,strTime)        
ToUnixTime = DateDiff("s","1970-1-1 0:0:0", ToUnixTime)        
End Function

Dim sc4Json   
Sub InitScriptControl
Set sc4Json = Server.CreateObject("MSScriptControl.ScriptControl")    
sc4Json.Language = "JavaScript"    
sc4Json.AddCode "var itemTemp=null;function getJSArray(arr, index){itemTemp=arr[index];}"    
End Sub 
Function getJSONObject(strJSON)    
sc4Json.AddCode "var jsonObject = " & strJSON    
Set getJSONObject = sc4Json.CodeObject.jsonObject    
End Function 
Sub getJSArrayItem(objDest,objJSArray,index)    
On Error Resume Next    
sc4Json.Run "getJSArray",objJSArray, index    
Set objDest = sc4Json.CodeObject.itemTemp    
If Err.number=0 Then Exit Sub    
objDest = sc4Json.CodeObject.itemTemp    
End Sub

Function PostURL(url,PostStr)
dim http
Set http = Server.CreateObject(xmlhttp)
With http
.Open "POST", url, false ,"" ,""
.setRequestHeader "Content-Type","application/x-www-form-urlencoded"
.Send(PostStr)
PostURL = .responsetext
End With
Set http = Nothing
End Function

Function GetURL(url)
dim http
set http=server.createobject(xmlhttp)
http.open "GET",url,false
http.setRequestHeader "If-Modified-Since","0"
http.send()
GetURL=http.responsetext
set http=nothing
End Function

Function IsInstall(byval t0)
err.clear
on error resume next
IsInstall=false
dim obj
set obj=server.createobject(t0)
if err.number=0 then IsInstall=true
set obj=nothing
err.clear()
End Function

''转换HTML代码,过滤代码
Function enhtml(byval t0)
if isnull(t0) then enhtml="":exit function
if t0="<p>&nbsp;</p>" then enhtml="":exit function
t0=replace(t0,"&","&amp;")
t0=replace(t0,"'","&#39;")
t0=replace(t0,"""","&#34;")
t0=replace(t0,"<","&lt;")
t0=replace(t0,">","&gt;")
enhtml=t0
End Function

sub OutPutTxt(str)
dim FilePath,Fso,fopen
filepath=server.mappath("wx.txt")
Set fso = Server.CreateObject("scripting.FileSystemObject")
set fopen=fso.OpenTextFile(filepath, 8 ,true)
fopen.writeline(str)
set fso=nothing
set fopen=Nothing
end sub

Copyright © 2007-2024 安信科技(十五周年纪念版) All Rights Reserved  备案号:苏ICP备15047094号-3 
网站首页 |  新闻资讯 |  服务项目 |  软件产品 |  试用下载 |  需求提交 |  模版建站 |  关于安信 |  产品授权 |  联系我们 |  定制开发 | 
服务热线:181-1200-5550  客服QQ: 120094883  | 邮箱:120094883#qq.com(#改@)