【调度系统】广东民航医疗快线调度系统源代码
wanglizhong
2025-06-16 ae5b0a8c63979351028215b8fe8cdf4b0766c272
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
<% @LANGUAGE="VBSCRIPT" CODEPAGE="65001" %> 
<% Session.CodePage=65001 %> 
<% Response.charset = "utf-8" %>
<!--#include virtual="/inc/odbc.asp"-->
<!--#include virtual="/inc/function.asp"-->
<!--#include virtual="/inc/core.asp"-->
<%
Set rs = Server.CreateObject("ADODB.Recordset")
 
method=trim(Request("method"))
'支付商户信息
If wxAPPID="" Then
    wx_Name        = "民航医疗快线"
    wxAPPID        = "wx70f6a7346ee842c0"                    '公众号APPID
    wxAPPSECRET    = "2d6c59de85e876b7eadebeba62e5417a"    '公众号APPSECRET
    mch_id        = "1573728151"                            '微信支付商户号 2月份开始转为1573728151
    mch_key        = "Xz0ClPK3f5sCeT6SGTaha1vpVmyUFcbp"    '微信支付API密钥
End If
 
'签名验证----------
ApiSign=trim(Request("Sign"))
if ApiSign="" Then
    errcode=40056
    errmsg="invalid Sign"
else
    '待签名字符串
    ReDim arr(Request.QueryString.Count+Request.Form.Count,2)
    Dim v                       '所有表单值
    Dim t                       '所有表单数量
    v=Request.QueryString
    If v<>"" And Request.Form<>"" Then
        v=v&"&"&Request.Form
    ElseIf Request.Form<>"" Then
        v=Request.Form
    End If
    t=Request.QueryString.Count+Request.Form.Count
    For i=0 To t-1
     arr(i,1)=Split(Split(v,"&")(i),"=")(0)
     arr(i,2)=Split(Split(v,"&")(i),"=")(1)
    Next
    For i = 0 To t-1
        For j = i + 1 To t-1
            If arr(i,1) > arr(j,1) Then
                tmp1 = arr(i,1)
                arr(i,1) = arr(j,1)
                arr(j,1) = tmp1
                tmp2 = arr(i,2)
                arr(i,2) = arr(j,2)
                arr(j,2) = tmp2
            End If
        Next
    Next
    For i = 0 To t-1
        'response.write arr(i,1) & "=" & arr(i,2) & "<br>"
        If arr(i,1)="Sign" Then
            reserve=arr(i,2)
        else
            If arr(i,2)="timestamp" Then arr(i,2)=Date() &" "& Time()
            sParaSort=sParaSort & arr(i,1) & arr(i,2)
        End if
    Next
    sign_type       = "MD5"
    input_charset="utf-8"
    stringA=sParaSort&key
    'response.write sParaSort & "<br>"
    Private Function BuildRequestMysign(sParaSort)
        '获得签名结果
         Select Case sign_type
            Case "MD5" BuildRequestMysign = Md5Sign(sParaSort,key,input_charset)
            Case Else BuildRequestMysign = ""
         End Select
    End Function
    sParaSort=BuildRequestMysign(sParaSort)
    If CStr(ApiSign)<>CStr(sParaSort) Then
        errcode=40057
        errmsg="invalid Sign"
        '签名调试
        errmsg="invalid stringA:"&stringA&",Sign:"&sParaSort
    End If
End If
'签名验证---end
 
If errcode="" Then
 
    select case method
    case "OrderQuery"    '查询订单
        transaction_id    = request("transaction_id")    '微信订单号
        out_trade_no    = request("out_trade_no")    '商户订单号
 
        If transaction_id="" And out_trade_no="" Then
            result=2
            errcode=40010
            errmsg="invalid OrderID"
        Else
            '查询方式
            If transaction_id<>"" Then
                OrderQueryType="transaction_id"
                OrderQueryID=transaction_id
            Else
                OrderQueryType="out_trade_no"
                OrderQueryID=out_trade_no
            End If
 
            '时间戳
            time_stamp = DateDiff("s", "1970-1-1 00:00:00", Now())
              
            '随机字符串
            randomize timer
            rdCode = Int((32767)*Rnd +1000)
            nonce_str = MD5(rdCode,input_charset)
 
            shortUrl = "https://api.mch.weixin.qq.com/pay/orderquery"
            
            '签名  
            stringA = "appid="&wxAPPID &"&mch_id="&mch_id&"&nonce_str="&nonce_str&"&"&OrderQueryType&"="&OrderQueryID
            stringSignTemp = stringA & "&key=" & mch_key  
              
            sign = UCase(MD5(stringSignTemp,input_charset))  
 
            '生成支付<XML>
            orderStr = "<xml>" & _
            "<appid>" & wxAPPID & "</appid>" & _
            "<mch_id>" & mch_id & "</mch_id>" & _
            "<"&OrderQueryType&">" & OrderQueryID & "</"&OrderQueryType&">" & _
            "<nonce_str>" & nonce_str & "</nonce_str>" & _
            "<sign>" & sign & "</sign>" & _  
            "</xml>"
 
            ReturnStr =  PostXML(shortUrl, orderStr)
 
            Set objXml = Server.CreateObject("Microsoft.XMLDOM")
            objXml.preserveWhiteSpace = true
            objXml.async = false
 
            '加载微信字符串
            WeiXinStr = ReturnStr  
            objXml.loadXML(WeiXinStr)  
            Set xmlDoc = objXml.documentElement  
              
            NodesLength = xmlDoc.childNodes.length  
              
            For i= 0 to NodesLength-1  
                If "#text" <> xmlDoc.childNodes(i).nodeName Then  
                    Execute(xmlDoc.childNodes(i).nodeName & "=""" & Replace(Replace(xmlDoc.childNodes(i).text, """", ""), "'", "") & """")  
                End If  
            Next
            webJson="{""result"":1,""return_code"":"""&return_code&""",""return_msg"":"""&return_msg&""",""appid"":"""&wxAPPID&""",""mch_id"":"""&mch_id&""",""result_code"":"""&result_code&""",""out_trade_no"":"""&out_trade_no&""",""trade_state"":"""&trade_state&""",""trade_state_desc"":"""&trade_state_desc&"""}"
        End If
 
    '查询订单 end
 
    case else            '微信统一下单
        ShopOrdID=request("order_no")        '订单号
        OpenID = Request("openid")            '微信客户OPENID
        Total_fee = Request("Total_fee")            '支付金额
        trade_type = Request("trade_type")    '交易类型
        spbill_create_ip = Request("spbill_create_ip")    '用户端IP
        attach = Request("attach")    '附加数据
        pay_mch_id = Request("mch_id")    '商户号
 
        result=0
        If Total_fee="" Then Total_fee=0
        If pay_mch_id<>"" Then mch_id=pay_mch_id
 
        If spbill_create_ip="" Then spbill_create_ip=getip() 
 
        If ShopOrdID="" Then
            result=2
            errcode=40001
            errmsg="invalid order_no"
        ElseIf OpenID="" And trade_type="JSAPI" Then
            result=2
            errcode=40002
            errmsg="invalid OpenID"
        ElseIf trade_type<>"JSAPI" And trade_type<>"NATIVE" And trade_type<>"APP" And trade_type<>"MWEB" Then
            result=2
            errcode=40004
            errmsg="invalid trade_type"
        Else
 
            '读取订单信息
            If ShopOrdID<>"" And result=0 Then
                sql="select *,StretcherMoney=isnull((select SUM(StretcherMoney) from DispatchOrd where DispatchOrdState>0 and ServiceOrdIDDt=ServiceOrdID),0) from ServiceOrder where ServiceOrdID="&ShopOrdID
                rs.open sql,objConn,1,1
                if rs.Eof Then
                    result=2
                    errcode=40004
                    errmsg="订单信息出错,请重新提交。"
                Else
                    ServiceOrdID            = rs("ServiceOrdID")            '服务单号
                    ServiceOrdClass            = rs("ServiceOrdClass")            '单据类型
                    
                    ServiceOrdTraTxnPrice    = rs("ServiceOrdTraTxnPrice")    '成交价
                    StretcherMoney            = rs("StretcherMoney")            '担架费
                    ServiceOrdTraPaidPrice    = rs("ServiceOrdTraPaidPrice")    '已支付金额
                    ServiceOrdTraPrePayment    = rs("ServiceOrdTraPrePayment")    '需预付款
                    Guest_Reward            = rs("Guest_Reward")            '打赏金额
                    ServiceOrdPoints        = rs("ServiceOrdPoints")        '订单积分
                    If ServiceOrdTraTxnPrice="" Then ServiceOrdTraTxnPrice=0
                    If StretcherMoney="" Then StretcherMoney=0
                    If ServiceOrdTraPaidPrice="" Then ServiceOrdTraPaidPrice=0
                    If ServiceOrdTraPrePayment="" Then ServiceOrdTraPrePayment=0
                    If ServiceOrdPoints="" Or isnull(ServiceOrdPoints) Then ServiceOrdPoints=0
                    If Guest_Reward="" Then Guest_Reward=0
                    ServiceOrdNo            = ServiceOrdClass& year(rs("ServiceOrd_CC_Time"))&Right("0"&month(rs("ServiceOrd_CC_Time")),2)&Right("0"&day(rs("ServiceOrd_CC_Time")),2) & "-"&Right("00"&rs("ServiceOrdNo"),3)
                    If attach="打赏" And Total_fee>0 Then
                        body="打赏"        '商品描述
                    ElseIf (ServiceOrdTraTxnPrice+StretcherMoney)<=ServiceOrdTraPaidPrice And Guest_Reward<>Total_fee Then
                        result=2
                        errcode=40005
                        errmsg="支付已完成,请不要重复提交。"&attach
                    Else
                        If Total_fee=0 Then Total_fee=(ServiceOrdTraTxnPrice+StretcherMoney)-ServiceOrdTraPaidPrice
                        OrdTotal_fee=(ServiceOrdTraTxnPrice+StretcherMoney)-ServiceOrdTraPaidPrice
                        body="医疗服务费用"        '商品描述
                    End If            
                End If
                'sql="Insert into TVDV.dbo.API_Json (method,Json,reserve) values ('微信支付','"&ShopOrdID&"需支付:"&Total_fee&"','读取订单信息"&result&"')"
                'objConn.Execute sql
            End If
 
            'Total_fee=0.01
            'ShopOrdID=00000001
            If body="" Then body="医疗服务费用"
 
            If Total_fee>0 And result=0 Then
                session("Weixin_OrderID")=ShopOrdID
                notify_url="https://api.966120.com.cn/weixin/NotifyUrl.asp"    '异步通知回调地址
                'spbill_create_ip=Request.ServerVariables("REMOTE_ADDR")    '客户IP
                total_fee=Total_fee*100    '支付金额
                total_fee=CSng(Total_fee)
                'sql="Insert into TVDV.dbo.API_Json (method,Json,reserve) values ('微信支付','"&total_fee&"','开始支付下单')"
                'objConn.Execute sql
                'Response.Write total_fee
                'Response.end
                
                fee_type="CNY"                                    '货币类型 符合ISO 4217标准的三位字母代码,默认人民币:CNY
                  
                '时间戳  
                time_stamp = DateDiff("s", "1970-1-1 00:00:00", Now())  
                  
                '随机字符串  
                randomize timer  
                rdCode = Int((32767)*Rnd +1000)  
                nonce_str = MD5(rdCode,input_charset)  
 
                shortUrl = "https://api.mch.weixin.qq.com/pay/unifiedorder"
 
                If attach<>"" Then ShopOrdID=ShopOrdID&"|"&attach    '组合数据包字符串
 
                If OpenID<>"" And trade_type="JSAPI" Then
                    '生成公众号支付
                    trade_type="JSAPI"
                    out_trade_no=ServiceOrdNo&"-W"&MONTH(DATE())&DAY(DATE())&HOUR(TIME())&MINUTE(TIME())&SECOND(TIME())    '支付订单号
                    '签名  
                    stringA = "appid="&wxAPPID &"&attach="&ShopOrdID&"&body="&body&"&fee_type="&fee_type&"&mch_id="&mch_id&"&nonce_str="&nonce_str&"&notify_url="&notify_url&"&openid="&openid&"&out_trade_no="&out_trade_no&"&spbill_create_ip="&spbill_create_ip&"&total_fee="&total_fee&"&trade_type=JSAPI"
                    stringSignTemp = stringA & "&key=" & mch_key  
                    'sql="Insert into API_Json (method,Json,reserve) values ('微信支付','"&stringA&"','开始支付下单1')"
                    'objConn.Execute sql
                      
                    sign = UCase(MD5(stringSignTemp,input_charset))  
 
                    '生成支付<XML>
                    orderStr = "<xml>" & _
                    "<appid>" & wxAPPID & "</appid>" & _
                    "<body>"&body&"</body>" & _
                    "<mch_id>" & mch_id & "</mch_id>" & _
                    "<attach>" & ShopOrdID & "</attach>" & _
                    "<nonce_str>" & nonce_str & "</nonce_str>" & _
                    "<notify_url>"&notify_url&"</notify_url>"&_
                    "<openid>"&openid&"</openid>"&_
                    "<out_trade_no>"&out_trade_no&"</out_trade_no>"&_
                    "<spbill_create_ip>"&spbill_create_ip&"</spbill_create_ip>"&_
                    "<total_fee>"&total_fee&"</total_fee>"&_
                    "<fee_type>"&fee_type&"</fee_type>"&_
                    "<trade_type>JSAPI</trade_type>"&_
                    "<sign>" & sign & "</sign>" & _  
                    "</xml>"
                    'sql="Insert into API_Json (method,Json,reserve) values ('微信支付','"&orderStr&"','开始支付下单2')"
                    'objConn.Execute sql
                    'Response.Write orderStr
                    ReturnStr =  PostXML(shortUrl, orderStr)
                    'Response.Write ReturnStr
 
 
                    Set objXml = Server.CreateObject("Microsoft.XMLDOM")  
                    objXml.preserveWhiteSpace = true  
                    objXml.async = false  
                      
                    '加载微信字符串  
                    WeiXinStr = ReturnStr  
                    objXml.loadXML(WeiXinStr)  
                    Set xmlDoc = objXml.documentElement  
                      
                    NodesLength = xmlDoc.childNodes.length  
                      
                    For i= 0 to NodesLength-1  
                        If "#text" <> xmlDoc.childNodes(i).nodeName Then  
                            Execute(xmlDoc.childNodes(i).nodeName & "=""" & Replace(Replace(xmlDoc.childNodes(i).text, """", ""), "'", "") & """")  
                        End If  
                    Next
                    JSAPI_id=prepay_id
                    webJson="{""result"":1,""return_code"":"""&return_code&""",""return_msg"":"""&return_msg&""",""appid"":"""&wxAPPID&""",""mch_id"":"""&mch_id&""",""nonce_str"":"""&nonce_str&""",""sign"":"""&sign&""",""result_code"":"""&result_code&""",""prepay_id"":"""&prepay_id&""",""trade_type"":"""&trade_type&""",""mch_key"":"""&mch_key&""",""total_fee"":"""&total_fee&""",""out_trade_no"":"""&out_trade_no&"""}"
                    'sql="Insert into TVDV.dbo.API_Json (method,Json,reserve) values ('微信支付','"&webJson&"','下单完成')"
                    'objConn.Execute sql
                
                ElseIf trade_type="NATIVE" Then
                '生成二维码支付
                    trade_type="NATIVE"
                    out_trade_no=ServiceOrdNo&"-N"&MONTH(DATE())&DAY(DATE())&HOUR(TIME())&MINUTE(TIME())&SECOND(TIME())    '支付订单号
                    '签名  
                    stringA = "appid="&wxAPPID &"&attach="&ShopOrdID&"&body="&body&"&fee_type="&fee_type&"&mch_id="&mch_id&"&nonce_str="&nonce_str&"&notify_url="&notify_url&"&out_trade_no="&out_trade_no&"&spbill_create_ip="&spbill_create_ip&"&total_fee="&total_fee&"&trade_type=NATIVE"
                    stringSignTemp = stringA & "&key=" & mch_key  
                      
                    sign = UCase(MD5(stringSignTemp,input_charset))  
 
                    '生成支付<XML>
                    orderStr = "<xml>" & _
                    "<appid>" & wxAPPID & "</appid>" & _
                    "<body>"&body&"</body>" & _
                    "<mch_id>" & mch_id & "</mch_id>" & _
                    "<attach>" & ShopOrdID & "</attach>" & _
                    "<nonce_str>" & nonce_str & "</nonce_str>" & _
                    "<notify_url>"&notify_url&"</notify_url>"&_
                    "<out_trade_no>"&out_trade_no&"</out_trade_no>"&_
                    "<spbill_create_ip>"&spbill_create_ip&"</spbill_create_ip>"&_
                    "<total_fee>"&total_fee&"</total_fee>"&_
                    "<fee_type>"&fee_type&"</fee_type>"&_
                    "<trade_type>NATIVE</trade_type>"&_
                    "<sign>" & sign & "</sign>" & _  
                    "</xml>"
 
                    ReturnStr =  PostXML(shortUrl, orderStr)
'Response.Write ReturnStr&"<br>"
'Response.end
                    Set objXml = Server.CreateObject("Microsoft.XMLDOM")  
                    objXml.preserveWhiteSpace = true  
                    objXml.async = false  
 
                    '加载微信字符串  
                    WeiXinStr = ReturnStr  
                    objXml.loadXML(WeiXinStr)  
                    Set xmlDoc = objXml.documentElement  
                      
                    NodesLength = xmlDoc.childNodes.length  
                      
                    For i= 0 to NodesLength-1  
                        If "#text" <> xmlDoc.childNodes(i).nodeName Then  
                            Execute(xmlDoc.childNodes(i).nodeName & "=""" & Replace(Replace(xmlDoc.childNodes(i).text, """", ""), "'", "") & """")  
                        End If  
                    Next
                    code_id=prepay_id
                    webJson="{""result"":1,""return_code"":"""&return_code&""",""return_msg"":"""&return_msg&""",""appid"":"""&wxAPPID&""",""mch_id"":"""&mch_id&""",""nonce_str"":"""&nonce_str&""",""sign"":"""&sign&""",""result_code"":"""&result_code&""",""prepay_id"":"""&prepay_id&""",""trade_type"":"""&trade_type&""",""mch_key"":"""&mch_key&""",""code_url"":"""&code_url&""",""total_fee"":"""&total_fee&""",""out_trade_no"":"""&out_trade_no&"""}"
 
                ElseIf trade_type="APP" Then
                '生成APP支付
                    trade_type="APP"
                    out_trade_no=ServiceOrdNo&"-A"&MONTH(DATE())&DAY(DATE())&HOUR(TIME())&MINUTE(TIME())&SECOND(TIME())    '支付订单号
                    '签名  
                    stringA = "appid="&wxAPPID &"&attach="&ShopOrdID&"&body="&body&"&fee_type="&fee_type&"&mch_id="&mch_id&"&nonce_str="&nonce_str&"&notify_url="&notify_url&"&out_trade_no="&out_trade_no&"&spbill_create_ip="&spbill_create_ip&"&total_fee="&total_fee&"&trade_type=APP"
                    stringSignTemp = stringA & "&key=" & mch_key  
                      
                    sign = UCase(MD5(stringSignTemp,input_charset))  
 
                    '生成支付<XML>
                    orderStr = "<xml>" & _
                    "<appid>" & wxAPPID & "</appid>" & _
                    "<body>"&body&"</body>" & _
                    "<mch_id>" & mch_id & "</mch_id>" & _
                    "<attach>" & ShopOrdID & "</attach>" & _
                    "<nonce_str>" & nonce_str & "</nonce_str>" & _
                    "<notify_url>"&notify_url&"</notify_url>"&_
                    "<out_trade_no>"&out_trade_no&"</out_trade_no>"&_
                    "<spbill_create_ip>"&spbill_create_ip&"</spbill_create_ip>"&_
                    "<total_fee>"&total_fee&"</total_fee>"&_
                    "<fee_type>"&fee_type&"</fee_type>"&_
                    "<trade_type>APP</trade_type>"&_
                    "<sign>" & sign & "</sign>" & _  
                    "</xml>"
 
                    ReturnStr =  PostXML(shortUrl, orderStr)
 
                    Set objXml = Server.CreateObject("Microsoft.XMLDOM")  
                    objXml.preserveWhiteSpace = true  
                    objXml.async = false  
 
                    '加载微信字符串  
                    WeiXinStr = ReturnStr  
                    objXml.loadXML(WeiXinStr)  
                    Set xmlDoc = objXml.documentElement  
                      
                    NodesLength = xmlDoc.childNodes.length  
                      
                    For i= 0 to NodesLength-1  
                        If "#text" <> xmlDoc.childNodes(i).nodeName Then  
                            Execute(xmlDoc.childNodes(i).nodeName & "=""" & Replace(Replace(xmlDoc.childNodes(i).text, """", ""), "'", "") & """")  
                        End If  
                    Next
                    code_id=prepay_id
                    If return_code= "SUCCESS" And result_code= "SUCCESS" Then
                        result=1
                    Else
                        result=2
                    End If
 
                    'KEY APP加密
                    APPKey=Mid(mch_key,1,3)&"d"&Mid(mch_key,4)
 
                    webJson="{""result"":"&result&",""return_code"":"""&return_code&""",""return_msg"":"""&return_msg&""",""appid"":"""&wxAPPID&""",""mch_id"":"""&mch_id&""",""nonce_str"":"""&nonce_str&""",""sign"":"""&sign&""",""result_code"":"""&result_code&""",""prepay_id"":"""&prepay_id&""",""trade_type"":"""&trade_type&""",""mch_key"":"""&APPKey&"""}"
                
                ElseIf trade_type="MWEB" Then
                '生成H5支付支付
                    trade_type="MWEB"
                    fee_type="CNY"
                    out_trade_no=ServiceOrdNo&"-H"&MONTH(DATE())&DAY(DATE())&HOUR(TIME())&MINUTE(TIME())&SECOND(TIME())    '支付订单号
                    scene_info="{""h5_info"":{""type"":""wap"",""wap_url"":""http://966120.com.cn"",""wap_name"":""民航医疗快线""}}"    '场景信息
                    '签名  
                    stringA = "appid="&wxAPPID &"&attach="&ShopOrdID&"&body="&body&"&fee_type="&fee_type&"&mch_id="&mch_id&"&nonce_str="&nonce_str&"&notify_url="&notify_url&"&out_trade_no="&out_trade_no&"&scene_info="&scene_info&"&spbill_create_ip="&spbill_create_ip&"&total_fee="&total_fee&"&trade_type=MWEB"
                    stringSignTemp = stringA & "&key=" & mch_key  
                      
                    sign = UCase(MD5(stringSignTemp,input_charset))  
 
                    '生成支付<XML>
                    orderStr = "<xml>" & _
                    "<appid>" & wxAPPID & "</appid>" & _
                    "<attach>" & ShopOrdID & "</attach>" & _
                    "<body>"&body&"</body>" & _
                    "<mch_id>" & mch_id & "</mch_id>" & _
                    "<nonce_str>" & nonce_str & "</nonce_str>" & _
                    "<notify_url>"&notify_url&"</notify_url>"&_
                    "<out_trade_no>"&out_trade_no&"</out_trade_no>"&_
                    "<spbill_create_ip>"&spbill_create_ip&"</spbill_create_ip>"&_
                    "<total_fee>"&total_fee&"</total_fee>"&_
                    "<fee_type>"&fee_type&"</fee_type>"&_
                    "<trade_type>MWEB</trade_type>"&_
                    "<scene_info>"&scene_info&"</scene_info>"&_
                    "<sign>" & sign & "</sign>" & _  
                    "</xml>"
 
                    'Response.Write orderStr
                    ReturnStr =  PostXML(shortUrl, orderStr)
                    
 
                    Set objXml = Server.CreateObject("Microsoft.XMLDOM")  
                    objXml.preserveWhiteSpace = true  
                    objXml.async = false  
 
                    '加载微信字符串  
                    WeiXinStr = ReturnStr  
                    objXml.loadXML(WeiXinStr)  
                    Set xmlDoc = objXml.documentElement  
                      
                    NodesLength = xmlDoc.childNodes.length  
                      
                    For i= 0 to NodesLength-1  
                        If "#text" <> xmlDoc.childNodes(i).nodeName Then  
                            Execute(xmlDoc.childNodes(i).nodeName & "=""" & Replace(Replace(xmlDoc.childNodes(i).text, """", ""), "'", "") & """")  
                            'Response.Write xmlDoc.childNodes(i).nodeName & "=""" & Replace(Replace(xmlDoc.childNodes(i).text, """", ""), "'", "") & """"&"<br>"
                        End If  
                    Next
                    code_id=prepay_id
                    webJson="{""result"":1,""return_code"":"""&return_code&""",""return_msg"":"""&return_msg&""",""appid"":"""&wxAPPID&""",""mch_id"":"""&mch_id&""",""nonce_str"":"""&nonce_str&""",""sign"":"""&sign&""",""result_code"":"""&result_code&""",""prepay_id"":"""&prepay_id&""",""trade_type"":"""&trade_type&""",""mch_key"":"""&mch_key&""",""mweb_url"":"""&mweb_url&""",""spbill_create_ip"":"""&spbill_create_ip&""",""total_fee"":"""&total_fee&""",""out_trade_no"":"""&out_trade_no&"""}"
                    'webJson=mweb_url
                    'Response.redirect mweb_url
 
                Else
                    result=2
                    errcode=40007
                    errmsg="invalid trade_type"
                End If
 
                
                    'Response.Write ReturnStr
                    'Response.Write prepay_id
            'Response.end
 
            End If
        End If
        '微信统一下单 end
 
    end select
End If
 
If Left(errcode,1)="4" Then
    webJson="{""result"":2,""errcode"":"&errcode&",""errmsg"":"""&errmsg&"""}"
End If
 
Response.Write webJson
%>