www.gusucode.com > 中网景企业网站管理系统 2008源码程序 > chinese/pay_receive_chinabank.asp

    <!--  
 * ====================================================================
 *
 *                 Receive.asp 由网银在线技术支持提供
 *
 *     本页面为支付完成后获取返回的参数及处理......
 *
 *
 * ====================================================================
-->
<!--#include file="../opendb.asp" -->
<!-- #include file="../common/md5.asp" -->
<%   
Dim key,v_oid,v_pmode,v_pstatus,v_pstring,v_amount,v_moneytype,remark1,remark2,v_md5str
Dim text,md5text

rs.open "select * from cnk_payway where payname='chinabank' and isopen=1",conn,1,1 

'****************************************	' MD5密钥要跟订单提交页相同,如Send.asp里的 key = "test" ,修改""号内 test 为您的密钥
											' 如果您还没有设置MD5密钥请登陆我们为您提供商户后台,地址:https://merchant3.chinabank.com.cn/
	key = rs("paykey")							' 登陆后在上面的导航栏里可能找到“资料管理”,在资料管理的二级导航栏里有“MD5密钥设置” 
											' 建议您设置一个16位以上的密钥或更高,密钥最多64位,但设置16位已经足够了
'****************************************

' 取得返回参数值
	v_oid=request("v_oid")                               ' 商户发送的v_oid定单编号
	v_pmode=request("v_pmode")                           ' 支付方式(字符串) 
	v_pstatus=request("v_pstatus")                       ' 支付状态 20(支付成功);30(支付失败)
	v_pstring=request("v_pstring")                       ' 支付结果信息 支付完成(当v_pstatus=20时);失败原因(当v_pstatus=30时);
	v_amount=request("v_amount")                         ' 订单实际支付金额
	v_moneytype=request("v_moneytype")                   ' 订单实际支付币种
	remark1=request("remark1")                           ' 备注字段1
	remark2=request("remark2")                           ' 备注字段2
	v_md5str=request("v_md5str")                         ' 网银在线拼凑的Md5校验串


if request("v_md5str")="" then
	response.Write("v_md5str:空值")
	response.end
end if


'md5校验

	text = v_oid&v_pstatus&v_amount&v_moneytype&key

	md5text = Ucase(trim(md5(text)))    '商户拼凑的Md5校验串

	if md5text<>v_md5str then		' 网银在线拼凑的Md5校验串 与 商户拼凑的Md5校验串 进行对比
	'对比失败表示信息非网银在线返回的信息

	  response.write("MD5 error")

	else
	'对比成功表示信息是网银在线返回的信息

	  if v_pstatus=20 then

		'支付成功
		'此处加入商户系统的逻辑处理(例如判断金额,判断支付状态,更新订单状态等等)......

	  end if

	end if
Call Closedb()

Dim pay_msg
pay_msg="此次交易编号:"&v_oid&"<br />"

if v_pstatus=20 then
	pay_msg=pay_msg&"在线支付已经支付成功!<br />"
	conn.execute("update cnk_orderform set zhuangtai=1,payway='网钱在线' where orderid='"&sqlchkchar(v_oid)&"'")	'处理订单状态
else
	if v_pstatus=30 then
		pay_msg=pay_msg&"在线支付失败!<br />"
	end if
end if
pay_msg=pay_msg&"支付代码号:"&v_pstatus&"<br />"
pay_msg=pay_msg&"在线支付结果:"&v_pstring&"<br />"
pay_msg=pay_msg&"您所使用的卡为:"&v_pmode&"<br />"
pay_msg=pay_msg&"金额:"&v_amount&"<br />"
pay_msg=pay_msg&"币种:人民币<br />"

Response.write "<script language=javascript>"
Response.write "window.location.href='pay_showResult.asp?msg=" & pay_msg & "';"  '替换成商户网站相应页面地址
Response.write "</script>"
%>