【银企平台】修改付款单状态为交易失败原创
金蝶云社区-LuckyFly
LuckyFly
4人赞赏了该文章 2,443次浏览 未经作者许可,禁止转载编辑于2022年05月24日 16:32:49
summary-icon摘要由AI智能服务提供

本文介绍了修改银企付款单状态的具体步骤,其中首步是备份银企数据库中的付款信息表(T_EBG_PaymentInfo)。该表包含了多个字段,如ID、银行版本ID、前置机版本ID、业务类型、子业务类型等,并详细说明了每个字段的名称、数据类型、长度及是否允许为空等信息。此外,还列举了付款状态码及其对应含义,以及银行处理状态和错误信息等相关字段。

修改银企付款单状态步骤(修改前提,已和银行确认过最终状态为交易失败)

第一步、备份银企数据库(数据库表T-EBG-PaymentInfo)

选中数据库--任务--生成脚本--选择特定数据库对象--保存

 

1.   T_EBG_PaymentInfo(付款信息表)

编号

字段名

字段说明

主键

类型

长度

允许空

1

id

ID                           

Y

varchar

44

N

2

bank_Version_Id

银行版本ID                   

N

varchar

20

N

3

bank_Login_Id

前置机版本ID                 

N

varchar

50

N

4

biz_Type

业务类型                     

N

varchar

50

N

5

sub_Biz_Type

子业务类型                   

N

varchar

50

N

6

impl_Class_Name

类名实现                     

N

varchar

255

N

7

package_Key

付款数据的部分关键字段的摘要,

N

nvarchar

510

N

8

total_Count

总数量                       

N

int

4

N

9

total_Amount

总金额                       

N

decimal

9

N

10

batch_Seq_Id

批次号                       

N

varchar

100

N

11

detail_Seq_Id

流水号                       

N

varchar

100

N

12

detail_Biz_No

单笔业务号                   

N

varchar

100

N

13

insert_Batch_Seq

插入批次号                   

N

varchar

44

N

14

insert_Time

插入时间                     

N

datetime

8

N

15

request_Seq

请求流水号                   

N

varchar

44

N

16

request_Time

请求时间                      

N

datetime

8

N

17

update_Time

更新时间                     

N

datetime

8

N

18

update_Batch_Seq

更新批次号                   

N

varchar

44

N

19

update_Operation

更新操作                     

N

nvarchar

100

N

20

verify_Field

校验字段,用于防篡改          

N

varchar

255

N

21

amount

金额                         

N

decimal

9

N

22

currency

币别                         

N

varchar

10

Y

23

use_Code

用途编码                     

N

nvarchar

100

N

24

use_Cn

用途                         

N

nvarchar

510

N

25

explanation

备注                          

N

nvarchar

510

Y

26

same_Bank

是否同行支付                 

N

varchar

5

N

27

same_City

是否同城支付                 

N

varchar

5

N

28

urgent

是否加急                     

N

varchar

5

N

29

to_Individual

是否对私支付                 

N

varchar

5

N

30

force_Manual

是否强制落地                 

N

varchar

5

N

31

fee_Type

手续费支付方式               

N

varchar

50

Y

32

booking_Time

预约支付时间                 

N

datetime

8

Y

33

emails

需要通知的email              

N

nvarchar

510

Y

34

mobiles

需要通知的电话               

N

nvarchar

510

Y

35

acc_No

支付账号                     

N

varchar

50

N

36

acc_Name

支付户名                     

N

nvarchar

510

N

37

bank_Name

支付行名                     

N

nvarchar

510

N

38

bank_Address

支付账户开户行地址           

N

nvarchar

510

N

39

area_Code

支付账户开户行地区码         

N

varchar

50

Y

40

acc_Dept

支付账户开户行机构号         

N

varchar

50

Y

41

acc_Country

支付账户开户行所在国家       

N

nvarchar

100

Y

42

acc_Province

支付账户开户行所在省份       

N

nvarchar

100

Y

43

acc_City

支付账户开户行所在城市       

N

nvarchar

100

Y

44

third_Acc_No

第三方账号                   

N

varchar

50

Y

45

third_Acc_Name

第三方户名                   

N

nvarchar

510

Y

46

third_Bank_Name

第三方行名                   

N

nvarchar

510

Y

47

third_Bank_Address

第三方账户开户行地址         

N

nvarchar

510

Y

48

third_Area_Code

第三方账户开户行地区码        

N

varchar

50

Y

49

third_Acc_Dept

第三方账户开户行机构号       

N

varchar

50

Y

50

income_Acc_No

收款账号                     

N

varchar

50

N

51

income_Acc_Name

收款户名                     

N

nvarchar

510

N

52

income_Bank_Name

收款行名                     

N

nvarchar

510

N

53

income_Bank_Address

收款行开户行地址             

N

nvarchar

510

N

54

income_Area_Code

收款行开户行地区码           

N

varchar

50

Y

55

income_Acc_Dept

收款行开户行机构号           

N

varchar

50

Y

56

income_Swift_Code

收款行开户行SWIFT编码          

N

varchar

50

Y

57

income_Cnaps

收款行开户行CNAPS号            

N

varchar

50

Y

58

income_Country

收款行开户行所在国家         

N

nvarchar

100

Y

59

income_Province

收款行开户行所在省份         

N

nvarchar

100

Y

60

income_City

收款行开户行所在城市         

N

nvarchar

100

Y

61

status

状态码。

0:尚未处理,还未打包;

1:发送失败,需要重发;

7:完成打包,准备提交;

9:提交中;

10:银行处理中;

11:交易结果未知;12:交易成功;

13:交易失败;

14:明细业务编号重复                      

N

int

4

N

62

status_Name

含义                         

N

nvarchar

40

Y

63

status_Msg

描述                         

N

nvarchar

160

Y

64

bank_Status

当前的银行状态                

N

nvarchar

160

Y

65

bank_Msg

当前的银行状态描述           

N

nvarchar

510

Y

66

error_Msg

当前的业务异常提示           

N

nvarchar

160

Y

67

error_Stack

当前的异常详细堆栈           

N

ntext

16

Y

68

bak_Status

备份的提交完成时的的内部状态 

N

int

4

Y

69

bak_Status_Name

含义                         

N

nvarchar

40

Y

70

bak_Status_Msg

描述                         

N

nvarchar

160

Y

71

bak_bank_Status

提交完成时的的银行状态       

N

nvarchar

160

Y

72

bak_bank_Msg

提交完成时的的银行状态描述   

N

nvarchar

510

Y

73

bak_Error_Msg

提交完成时的的业务异常提示    

N

nvarchar

160

Y

74

bak_Error_Stack

提交完成时的的异常详细堆栈   

N

ntext

16

Y

75

package_Time

打包时间                     

N

datetime

8

Y

76

bank_Batch_Seq_Id

银行批次流水号               

N

varchar

44

N

77

bank_Detail_Seq_Id

银行明细流水号               

N

varchar

44

Y

78

bank_Serial_No

银行明细顺序号               

N

varchar

44

Y

79

last_Submit_Time

最后一次尝试提交的时间       

N

datetime

8

Y

80

last_Submit_Request_Seq

最后一次尝试提交的请求流水   

N

varchar

44

N

81

submit_Count

尝试提交的总次数             

N

int

4

Y

82

submit_Success_Time

成功提交支付请求的时间       

N

datetime

8

Y

83

last_Sync_Time

最后一次尝试同步的时间       

N

datetime

8

Y

84

last_Sync_Request_Seq

最后一次尝试同步的请求流水   

N

varchar

44

N

85

sync_Count

尝试同步的总次数             

N

int

4

Y

86

pay_Finish_Time

成功同步到最终结果的时间     

N

datetime

8

Y

87

to_Give_Up

放弃处理                     

N

varchar

5

N

88

reserved_Biz_Filed

预留字段                     

N

ntext

16

Y

89

reserved_Sys_Filed

预留字段                     

N

ntext

16

Y

90

reserved_Filed_1

预留字段                     

N

varchar

255

Y

91

reserved_Filed_2

预留字段                      

N

varchar

255

Y

92

reserved_Filed_3

预留字段                     

N

varchar

255

Y

93

reserved_Filed_4

预留字段                     

N

varchar

255

Y

94

reserved_Filed_5

预留字段                     

N

varchar

255

Y

95

reserved_Filed_6

预留字段                      

N

varchar

255

Y

96

reserved_Filed_7

预留字段                     

N

varchar

255

Y

97

reserved_Filed_8

预留字段                     

N

varchar

255

Y

98

ebg_Mark_Id


N

varchar

100

Y

99

payer_FeeType

付款费用类型                  

N

varchar

10

Y

100

payer_FeeAccNo

费用账号                     

N

varchar

50

Y

101

payer_FeeCurrency

费用币别                     

N

varchar

10

Y

102

exchange_Rate

汇率                            

N

varchar

10

Y

103

actual_Amount

实际金额                      

N

decimal

9

Y

104

payee_BankCode

费用行编码                   

N

varchar

20

Y

105

transaction_Remarks

人民币交易种类               

N

varchar

100

Y

106

proxy_AccNo

代理帐号                     

N

varchar

50

Y

107

proxy_AccName

代理户名                      

N

varchar

200

Y

108

proxy_BankCountry

代理行国家                   

N

varchar

10

Y

109

proxy_BankArea

代理行区域                   

N

varchar

200

Y

110

proxy_BankSwiftCode

代理行国家编码               

N

varchar

50

Y

111

proxy_BankName

代理行名                     

N

varchar

200

Y

 

 

第二步、新建查询--执行select 语句

例一:


银企返回:完成打包逐笔提交银行

(根据银企返回内容找到需要修改的数据)

select top 100 status,bak_Status,bak_bank_Msg ,* from T_EBG_PaymentInfo where 1=1

and  status_msg=’完成打包准备提交银行’;

例2:

付款单建行银企付款失败,提示信息为银行返回:提交响应信息=[ERRORCODE=YBLA0581610F] [交易结果不确定] 同步付款状态信息=[ERRORCODE=YBLA058161A8]”

 

select top 100 status,bak_Status,bak_bank_Msg ,* from T_EBG_PaymentInfo where 1=1
and  bak_bank_Msg='[ERRORCODE=YBLA0581610F] [交易结果不确定]';


例3:根据批次号查询batch_Seq_Id (批次号)

select  status,bak_Status,bak_bank_Msg ,* from T_EBG_PaymentInfo where batch_Seq_Id=’批次号’;

image.png

image.png


第三步、执行update语句

第二步中例一情况,需要修改为失败状态则:

update T_EBG_PaymentInfo set status=13  where 1=1
 and  status_msg=’完成打包准备提交银行’;

 

第二步中例二情况,需要修改为交易失败状态则:

update T_EBG_PaymentInfo set status=13  where 1=1
and bak_bank_Msg='[ERRORCODE=YBLA0581610F] [交易结果不确定]';


第二步中例3情况,需要修改为交易失败状态则:

update T_EBG_PaymentInfo set status=13 where batch_Seq_Id=’批次号’;

 

 

银企平台修改状态完成,EAS或者云星空  同步银企数据,交易失败,即可做正常的打回等操作。

 

 


赞 4