支付流程
2025-04-08 09:28:37 0 举报
现有流程
作者其他创作
大纲/内容
是
返回结果是否成功
否
是否同站换乘
行程处理
取配置,sleep配置时长
互联互通2.0支付:ThirdPartyCode.CGYXCODE
成功error_code = \"0000\"
插入payLog表数据
TradeMangeServiceImpl.tradePay
获取失败code
返回处理结果
删除redis
调用App接口unionPayAppConfig.getTripFunds()
互联互通2.0APP支付管理:ThirdPartyCode.CGYXCODE
接口调用是否异常
组装接口数据
代扣结果返回
支付宝代扣:HfgdApp.ALIPAY
推送App0元订单行程
orderSatsus trip.PubConstantstickettype trip.AgencyConstant
调用发起代扣接口
微信乘车码支付:ThirdPartyCode.WECHATCODE
结束返回
银联APP代扣支付:HfgdApp.UNIONPAY
组装代扣接口请求数据
组装返回结果
是否成功orig_errcode= \"0000\"
支付宝代扣请款失败:code=else
agency
成功
失败
更新失败原因到行程表,记录支付重试次数+1,重试时间,失败原因
推送APP行程消息/补登
查询交易结果
请款成功:rspCode = SUC0000
rspCode = CMBMB62 的失败
是否成功error_code = \"0000\"
科农行APP代扣支付:HfgdApp.KNHPAY
获取垫资金额,advance_amount
组装行程推送数据
处理行程子流程
是否为app渠道
招商银行代扣:HfgdApp.CMBPAY
科农行APP代扣:HfgdApp.KNHPAY
银联乘车码支付:ThirdPartyCode.UNIONCODE
构造完成行程表记录Objmobiletripreportcomplete
sub_code=\"ACQ.TRADE_HAS_SUCCESS\"
顺序处理员工码,电子票
组装接口数据(账户及金额数据,进站数据,出战数据)
返回结果code!=\"WAIT\"
支付宝乘车码支付:ThirdPartyCode.ALICODE
交易状态未明error_code = \"3004\"
结束
查询行程记录
resultCode='00000000'
删除行程表缓存TRIP_USERQRID:userQrid orderId
alipayResponse.isSuccess()
status=0
是否白名单
其他
请款接口
招行代扣:HfgdApp.CMBPAY
处理银联行程与行程子流程类似,没有同站免费换乘的代码
是否返回成功
票价是否为0
记录failReason
验证同站免费通行插入记录表FreePassageTrip
接口重试调用
支付宝代扣请款失败:code=10003
retcode=\"0000\"
获取响应参数
retcode!=0
\"ACQ.TRADE_HAS_SUCCESS\".equals(alipayResponse.getSubCode())
调用获取风控信息接口
支付成功:code=10000
支付成功(10000),支付失败(40004),等待用户付款(10003)和未知异常(20000)
修改订单号,更新tripNo末四位+1
扣款金额是否为0
删除行程表
调用银联支付结果查询接口
sleep 1 s
是否代扣成功
插入app推送日志表
交易结果
是否成功,第一次报异常之后会立即重试一次
验证白名单插入WhitelistRideTrip
failReason = \"SUCCESS\"
支付宝代扣
插入完成行程表
sleep 3 s
商户流水重复:rspCode = CMBMB62
扣款和退款用的是同一个接口,通过收款账号和付款账号来区分用户账号和交易机构需要拆分一个字段获取两个值msgId 和globalSq 这两个值生成规则,有点奇怪 String msgId = \"086\" + date2 + tripno.substring(length - 19);String globalSq = \"086\" + date2 + \"01\" + tripno.substring(length - 10) + \"001000000\";
0 条评论
下一页