【银企】华夏银行:付款单状态为“交易未确认”,实际应为“银行处理中”原创
金蝶云社区-Jasmine_wzw
Jasmine_wzw
1人赞赏了该文章 1165次浏览 未经作者许可,禁止转载编辑于2022年09月18日 15:24:43

问题描述:

如下面截图所示,付款单状态为“交易未确认”,银行信息显示为“同步付款状态信息=成功标志:1;交易状态:0”。

image.png


华夏银行接口文档中,查询交易结果的接口xhj0019响应报文中关于交易状态说明如下图,由此分析:当银行返回的交易状态Transtatus为0时表示:银行已收妥待处理, 此时付款单状态应为“银行处理中”,而不是“交易未确认”。

image.png


分析解答:

要分析该问题,需要取到银企的付款日志,查看银行返回给业务系统的响应报文。bank_message该笔交易的pay日志如下:

image.png


该时间点mbts_invoke(银企返回给业务系统的响应报文)中response日志如下:

image.png

其中:

"bankStatusMsg":"银行返回: 同步付款状态信息=成功标志:1;交易状态:0",

"ebStatusMsg":"银企返回:交易结果未知",


而咨询业务同事,了解到付款单(T_CAS_PaymentBill)的状态(FBankPayState)是取自ebStatusMsg;而付款单的银行信息(FBankReturnInfo)的取值逻辑为:如果bankStatusMsg不为空,则取bankStatusMsg,否则取ebStatusMsg。

所以,付款单的状态不对,原因是银企返回给业务系统的ebStatusMsg的信息不对。


查看银企最新补丁(补丁号 PT167484,2022-08-17发布)中ebservice\bundles下的com.kingdee.ebservice.hxb.dc_1.0.2.jar,如下图所示,对交易状态的4个值(1,0,8,9)都进行了判断,其中当交易状态返回0时,银企返回“银行处理中”:

image.png


而现场的代码,当交易状态为0时,银企返回“交易结果未知”:

image.png


由此可见,该问题在新补丁中已经修复,建议安装银企最新补丁。

说明:若现场补丁较旧,打补丁前可先对银企服务端目录(除日志文件)进行备份。

赞 1