本文介绍了修改银企付款单状态的具体步骤,其中首步是备份银企数据库中的付款信息表(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=’批次号’;
第三步、执行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或者云星空 同步银企数据,交易失败,即可做正常的打回等操作。
推荐阅读