% @LANGUAGE="VBSCRIPT" CODEPAGE="65001" %>
<% Session.CodePage=65001 %>
<% Response.charset = "utf-8" %>
<%
Set rs = Server.CreateObject("ADODB.Recordset")
order_pay_weixin= SafeRequest(trim(request("order_pay_weixin")))
code=request("code")
state=request("state")
OpenID = SafeRequest(trim(request("OpenID")))
DispatchOrdID = SafeRequest(trim(request("DispatchOrdID")))
ServiceOrdID = SafeRequest(trim(request("ServiceOrdID")))
Total_fee = SafeRequest(trim(request("Total_fee")))
attach = SafeRequest(trim(request("attach")))
If state="" Then state=session("state")
session("state")=state
If code<>"" And Right(state,1)="N" Then
OpenID=GetOpenID(code)
stateSP=SPLIT(state,"|")
ServiceOrdID=stateSP(0)
DispatchOrdID=stateSP(1)
Total_fee=stateSP(2)
ElseIf order_pay_weixin="1" Then
'Request.ServerVariables("QUERY_STRING")
If Request.ServerVariables("QUERY_STRING")<>"" then
redirect_uri="http://"&Request.ServerVariables("HTTP_HOST")&Request.ServerVariables("URL")&"?"&Request.ServerVariables("QUERY_STRING")
Else
redirect_uri="http://"&Request.ServerVariables("HTTP_HOST")&Request.ServerVariables("URL")
End If
state=ServiceOrdID&"|"&DispatchOrdID&"|"&Total_fee
Call GetCode(state)
'Response.Redirect "https://open.weixin.qq.com/connect/qrconnect?appid="&corpid&"&redirect_uri="&redirect_uri&"&response_type=code&scope=SCOPE&state="&state&"#wechat_redirect"
'Response.end
End If
APPPayID = "Pay966120"
If OpenID<>"" Then
trade_type="JSAPI"
Else
trade_type="MWEB"
End If
If ServiceOrdID<>"" Then
order_no=ServiceOrdID
Else
order_no=DispatchOrdID
End If
spbill_create_ip=getip()
args1="order_no="&order_no '订单编号
args1=args1&"&APPID="&APPPayID '商户APPID
args1=args1&"&openid="&openid 'openid
args1=args1&"&Total_fee="&Total_fee '支付金额
args1=args1&"&trade_type="&trade_type '支付类型
args1=args1&"&spbill_create_ip="&spbill_create_ip '客户IP
args1=args1&"&attach="&attach '附加数据
'args1=args1&"&UnixTime="&ToUnixTime(now(),+8) '时间戳
Sign1=SignArgs(args1)
HTMLCODE = GetBody("https://api.966120.com.cn/v3/weixin/weixin_pay.asp",args1&"&Sign="&Sign1)
Response.Write HTMLCODE&"
"
'Response.end
json=HTMLCODE
%>
<%
str=json
str=right(str,len(str)-instr(str,"?{")+1)
str=left(str,InstrRev(str,"}"))
dim obj
set obj = getjson(str)
str0=""
result = obj.result ' 处理结果:1-成功,2-失败
If result<>1 Then Response.Redirect "/OrdEvaluateError.asp?1=2"
prepay_id=obj.prepay_id 'prepay_id
mch_key=obj.mch_key 'prepay_id
If trade_type="MWEB" Then
mweb_url=obj.mweb_url 'mweb_url
Response.Redirect mweb_url
ElseIf trade_type="JSAPI" Then
'时间戳
time_stamp = DateDiff("s", "1970-1-1 00:00:00", Now())
rdCode = Int((32767)*Rnd +1000)
nonce_str = MD5(rdCode,"utf-8")
'JS API签名
stringA = "appId="&appid &"&nonceStr="&nonce_str&"&package=prepay_id="&prepay_id&"&signType=MD5&timeStamp="&time_stamp
stringSignTemp = stringA & "&key=" & mch_key
'Response.Write stringSignTemp
'Response.end
sign = UCase(MD5(stringSignTemp,"utf-8"))
%>
<%If prepay_id<>"" then%>
<%else%>
1
<%End If%>
<%
Else
Response.Redirect "/OrdEvaluateError.asp?1=3"
End If
'Response.Write mweb_url
%>