日期:2014-05-17  浏览次数:20863 次

工行网银支付遇到问题:提交支付表单时间数据不在有效时间范围
我提交的时间是:

String orderDate = Constants.getCurrentTime(new Date(), "yyyyMMddHHmmss");// 14位时间戳
打印出来是这样的:20090624151156

将表单提交到工行,显示:
信息代码:96112025
提示信息:提交支付表单时间数据不在有效时间范围。 

文档中,格式要求为:YYYYMMDDHHmmss
要求在银行系统当前时间的前1小时和后12小时范围内,否则判定交易时间非法。

我将系统时间和internet都同步了,最多相差零点几秒,绝对没有问题了。

打电话过去问了,总说是我的时间问题,还以为是对方的系统时间比我的慢,特意将时间写死,一直写到6月8号,不停提交,显示的结果还是一样。
----------------
文档里面有2个接口文档,我使用的是:
中国工商银行网上银行B2C在线支付接口说明.doc

还有一个文档是:
中国工商银行网上银行B2C在线支付接口说明(支持盛大电视显示).doc

2个文档提交的URL都不一样,咨询了下开发过的人员,说和我使用的文档一样的。不是文档的问题。
网上搜索的结果很少,都没有解决我的问题。
想问问哪位做过工行网银开发的,是否遇到类似的问题。


------解决方案--------------------
mark~
------解决方案--------------------
对方接口是什么啊,你提供的是字符形的时间哦,这样的时间怎样算小时之间差啊,应该是long型的吧,
------解决方案--------------------
可能和时区有关
------解决方案--------------------
看看银行需要什么时区的时间,然后你这边是什么时区的时间
------解决方案--------------------
第一,时间格式要一致,
第二,对方的时间和你的时间是否相差不多。。。

------解决方案--------------------
post提交过去自然是字符串,这个格式没问题的。14位。

你是工行测试接口还是生产接口?测试的话时间没准的。我们每次测试都是先问工行的人的。
同时注意表单里不要提交文档中没定义的属性。如submit之类的。

------解决方案--------------------
应该和银行系统是时间进行同步。

第二个就是 你提交信息后 他们的错误信息是及时的显示吗?如果否 说明他们是将数据放到队列中,所以这需要长时间等待。
如果是,说明你的时间不符合他们的要求规范。