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

微信公众号支付源码asp分享(2.微信公众号支付程序类文件)

资讯分类: 移动微信  浏览: 2019年11月3日

微信公众号支付源码asp分享

微信公众号支付程序类文件:class.asp

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

dim apiurl,create_ip,nonce_str,timeStamp,xmlhttp,preCookies,json_str
preCookies      = "aqefd"
create_ip       = GetIP()
nonce_str       = GetRnd(10)
timeStamp       = ToUnixTime(now())
xmlhttp         = "Msxml2.ServerXMLHTTP.6.0" '候选:Msxml2.ServerXMLHTTP.3.0
json_str        = "2" '1 or 2

'微信支付V3获取Prepay_Id
Function get_prepay_id()
dim postData,signValue,post_url,sign,returnXml,xml_dom,return_code,result_code
post_url= "https://api.mch.weixin.qq.com/pay/unifiedorder"
sign="appid="&getAppId&"&attach="&attach_my&"&body="&body&"&mch_id="&getMCHID&"&nonce_str="&nonce_str&"&notify_url="&notify_url&"&openid="&openid&"&out_trade_no="&out_trade_no&"&spbill_create_ip="&create_ip&"&total_fee="&total_fee&"&trade_type=JSAPI&key="&getPartnerKey
signValue=UCase(MD5(sign,"UTF-8"))
postData="<xml>"&_
"<appid><![CDATA["&getAppId&"]]></appid>"&_
"<attach><![CDATA["&attach_my&"]]></attach>"&_
"<body><![CDATA["&body&"]]></body>"&_
"<mch_id><![CDATA["&getMCHID&"]]></mch_id>"&_
"<nonce_str><![CDATA["&nonce_str&"]]></nonce_str>"&_
"<notify_url><![CDATA["&notify_url&"]]></notify_url>"&_
"<openid><![CDATA["&openid&"]]></openid>"&_
"<out_trade_no><![CDATA["&out_trade_no&"]]></out_trade_no>"&_
"<spbill_create_ip><![CDATA["&create_ip&"]]></spbill_create_ip>"&_
"<total_fee><![CDATA["&total_fee&"]]></total_fee>"&_
"<trade_type><![CDATA[JSAPI]]></trade_type>"&_
"<sign><![CDATA["&signValue&"]]></sign>"&_
"</xml>"
returnXml=Get_code_url(post_url,postData)
set xml_dom=Server.CreateObject("MSXML2.DOMDocument")
xml_dom.loadXml(returnXml)
return_code=xml_dom.getelementsbytagname("return_code").item(0).text
if return_code="FAIL" then
'协议级错误
get_prepay_id=xml_dom.getelementsbytagname("return_msg").item(0).text
response.Write("协议级接口调用错误:"&get_prepay_id)
response.End()
else
result_code=xml_dom.getelementsbytagname("result_code").item(0).text
if result_code="FAIL" then
'业务级错误
get_prepay_id=xml_dom.getelementsbytagname("err_code_des").item(0).text
response.Write("业务级支付错误:"&get_prepay_id)
response.End()
else
if return_code="SUCCESS" and result_code="SUCCESS" then
'数据正常
get_prepay_id=xml_dom.getelementsbytagname("prepay_id").item(0).text
end if
end if
end if
End Function

'微信支付V3,返回最后提交的paySign
Function get_paySign()
dim sign
sign="appId="&getAppId&"&nonceStr="&nonce_str&"&package=prepay_id="&prepay_id&"&signType=MD5&timeStamp="&timeStamp&"&key="&getPartnerKey
get_paySign=UCase(MD5(sign,"UTF-8"))
End Function

'获取用户OpenID
Function GetOpenId()
if request.Cookies(preCookies&"openid")="" then
dim code,s_url,url,strJson,access_token,openids
code=request("code")
if code="" then
s_url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="&getAppId&"&redirect_uri="&Server.URLEncode(redirect_url)&"&response_type=code&scope=snsapi_base&state=Sky#wechat_redirect"
response.Redirect(s_url)
response.End()
else
url="https://api.weixin.qq.com/sns/oauth2/access_token?appid="&getAppId&"&secret="&getSecret&"&code="&code&"&grant_type=authorization_code"
strJson=GetURL(url)
dim objTest
if json_str="1" then
Call InitScriptControl:Set objTest = getJSONObject(strJson)
elseif json_str="2" then
Set objTest = getjson(strJson)
end if
if InStr(strJson,"errcode")>0 then
response.Write "获取Openid出错:"&strJson
response.End()
else
openids=objTest.openid '获取openid
Response.Cookies(preCookies&"openid")=openids
Response.Cookies(preCookies&"openid").Expires=DateAdd("m",60,now())
GetOpenId=openids
end if
end if
else
GetOpenId=request.Cookies(preCookies&"openid")
end if
End Function

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