【银企】华夏银行:付款单状态为“交易未确认”,实际应为“银行处理中”
问题描述:
如下面截图所示,付款单状态为“交易未确认”,银行信息显示为“同步付款状态信息=成功标志:1;交易状态:0”。
华夏银行接口文档中,查询交易结果的接口xhj0019响应报文中关于交易状态说明如下图,由此分析:当银行返回的交易状态Transtatus为0时表示:银行已收妥待处理, 此时付款单状态应为“银行处理中”,而不是“交易未确认”。
分析解答:
要分析该问题,需要取到银企的付款日志,查看银行返回给业务系统的响应报文。bank_message该笔交易的pay日志如下:
该时间点mbts_invoke(银企返回给业务系统的响应报文)中response日志如下:
其中:
"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时,银企返回“银行处理中”:
而现场的代码,当交易状态为0时,银企返回“交易结果未知”:
由此可见,该问题在新补丁中已经修复,建议安装银企最新补丁。
说明:若现场补丁较旧,打补丁前可先对银企服务端目录(除日志文件)进行备份。
【银企】华夏银行:付款单状态为“交易未确认”,实际应为“银行处理中”
本文2024-09-16 22:13:22发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-46720.html