<!--#include file="../../inc/payconn.asp"-->
<!--#include file="md5.asp"-->
<!--#include file="../payss.asp"-->
<%
Call ConnectionDatabase()
ON ERROR RESUME NEXT
SQL = "Select * From [L_pay] Where ptype='51ka'"
Set crs = Server.CreateObject("ADODB.Recordset")
crs.Open SQL,Conn,1,1
if crs.eof Then
 Response.Write "支付未设置！"
 Response.End()
 else
  	customerid		= crs("sId")                                       ' 这里替换为您的实际商户号
	userkey	= crs("sKey")				' 商户密钥,测试时即为商户号,正式上线后需修改
End If
%>
<%
Dim state,customerid,sd51no,sdcustomno,ordermoney,cardno,mark,sign,des
'商户在51支付网关上的订单状态，0为失败，1为成功
state=Trim(Request("state"))

'商户在51支付网关上的ID
customerid=Trim(Request("customerid"))

'51支付订单流水号
sd51no=Trim(Request("sd51no"))

'商户提交的订单流水号
sdcustomno=Trim(Request("sdcustomno"))

'商户订单金额，注意可能与商户时提交不一致，51支付结果是以卡的面值来结算的
ordermoney=Trim(Request("ordermoney"))

'商户自定义原样返回
mark=Trim(Request("mark"))

'51支付提交过来的MD5签名
sign=Trim(Request("sign"))

'51支付提交过来的系统备注
des=Request("des")

if des="商户支付失败" then des="支付失败"
if des="" then des="支付失败"

'商户在51支付网关上的交易密钥，登录51支付商户后台可自行查询修改
key= userkey

'验证MD5签名
signtmp=UCase(MD5("customerid="&customerid&"&sd51no="&sd51no&"&sdcustomno="&sdcustomno&"&mark="&mark&"&key="&key))
		
			SQL = "select * from mobile1 Where num='"&sdcustomno&"'"
			Set Res = Server.CreateObject("ADODB.Recordset")
			Res.Open SQL,Conn,1,3
			
'MD5签名正确
If sign=signtmp Then
			
	'检测到状态为成功
	If state=1 Then
		'商户业务数据成功处理
		    if not res.bof or not res.eof then
			res("stat")=1
			res("des")="支付成功"  '系统备注
			res("Okprice")=ordermoney  '成功金额		
			res.update
			end if

					Dim myPay
					Set myPay = New PayResult
					myPay.TruePrice = ordermoney
					myPay.PayOK(sdcustomno)
	Else
		'商户业务数据失败处理
		    if not res.bof or not res.eof then
			res("stat")=2  '2表示失败
			res("des")=des  '系统备注			
			res.update
			end if
	End If
	'处理完后返回接收到标识为1
	'只要商户接到通知，不管订单状态如何
	'都只需要返回接收到标识为1
	Response.Write("<result>1</result>")
Else
		    if not res.bof or not res.eof then
			res("stat")=3  '3表示失败
			res("des")=des  '系统备注			
			res.update
			end if
	Response.Write("customerid="&customerid&"&sd51no="&sd51no&"&sdcustomno="&sdcustomno&"&mark="&mark&"&key="&key)
End If

%>