农业银行的网上支付平台接口的安装还是有点复杂的,摸索了很久才搞定,总结了一下与大家共享。
所用到的文件及口令,农行那边会给你的,请看具体步骤:
(1)安装K宝驱动HDCSPSetup.exe
(2)确认WINDOWS 2003中.NET已经安装,windows 2003 sp2系统已经自带
(3)安装Microsoft WSE 2.0 SP2.msi
(4)设置系统环境变量:
变量名:TrustMerchantIniFile
变量值:C:\WINDOWS\system32\TrustMerchant.ini
环境变量在我的电脑->属性->高级->环境变量->系统变量中添加
(5)将以下文件
abc.truststore
TrustMerchant.ini
TrustPay.cer
TrustPayClient.dll
111.pfx (商户证书可能是其它文件名)
5个文件复制到指定目录下,例如c:\windows\system32目录下
在D盘建立D:\ABC\log目录用于存放交易日志
(6)注册.NET组件
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\regasm.exe /codebase c:\windows\system32\TrustPayClient.dll
(7)导入服务器证书
商户证书 111.pfx 需要在服务器导入
导入密码:XXXXXXXX (这个密码农行会给你的)
(8)修改C:\WINDOWS\system32\TrustMerchant.ini文件
#网上支付平台证书
TrustPayCertFile=c:\windows\system32\TrustPay.cer
#农行根证书文件
TrustStoreFile=c:\windows\system32\abc.truststore
#商户编号(这个编号农行会给你的)
MerchantID=XXXXXXXXXXXXXXX
#交易日志文件存放目录
LogPath=D:\ABC\log
#商户证书储存目录档名(当KeyStoreType=0时,必须设定)
MerchantCertFile=c:\windows\system32\111.pfx
#商户私钥加密密码(当KeyStoreType0时,必须设定)
MerchantCertPassword=XXXXXXXX(这个密码农行会给你的)
(9)重启服务器
(10)一些错误的处理:
(10.1)Server.CreateObject 失败
错误类型:
Server 对象, ASP 0177 (0x8000FFFF)
8000ffff
/test.asp, 第 42 行
错误原因:Server.CreateObject 失败
详细描述:8000ffff
解决方法:
将注册表
KEY_USERS\S-1-5-20\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones
赋予IUSR_x帐号读权限
(10.2)无法读取证书文档
500 内部服务器错误
错误类型:
TrustPayClient (0x80131500)
test.asp, 第 74 行
错误原因:无法读取证书文档
这个问题郁闷了很久,后来用filemonitor工具才发现w3wp进程在读这个目录下的文件:
C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys
我们只要赋予IUSR_x帐号写权限就可以了。
(10.3)日志文件无法写入
错误类型:
mscorlib (0x80070005)
test.asp, 第 74 行
错误原因:Access to the path 'D:\ABC\log\TrxLog.20110310.log' is denied.
我们同样需要赋予IUSR_x帐号D:\ABC\log目录的写权限。