支付宝开关分流及验收和等级日限冻结金额笔记 - A公司换B公司银行收款账号

支付宝开关分流及验收和等级日限冻结金额笔记 - A公司换B公司银行收款账号

1.业务背景
将现有的支付宝小程序及APP支付宝支付,将收款账号的主体做更换。
尝试了直接更换主体,支付宝不支持。直接在老账号的收款账号替换不同主体的银行账号,也是不支持,必须是同一主体的银行账号。
重新开了一个新账号,同时开通跟老账号相同的支付产品,比如:芝麻免押
然后在支付网关服务上层服务中,根据开关或根据订单下单时间跟Apollo比较时间来决定是新账号还是老账号。
同时将该新老流程的标识入库支付表保存。


2.分流的判断方法
1.根据apollo的开关,关闭了走老的,打开走新的。
总开关的优势:一旦发现新账号免押等功能存在不能芝麻免押,则可以一键切回到老账号,不影响业务使用。
2.根据订单号查询支付表的新老流程标识字段,如果存在,则默认取该标识。只有为null的情况下,才走第3个
首次支付的情况,查询结果为null
非首次的支付查询或支付退款,则查询上一次的分流标识。
3.根据订单下单时间跟Apollo比较时间来决定是新账号还是老账号。同时将标识存入redis中,避免每次频繁的调用接口来判断


3.上线后需要避免的坑
3.1上线后遇到需要验收,信用serviceId未生效的坑
报错信息:免押失败,参数有误,信用服务serviceId未完成验收流程,用户未在验收白名单
在开发测试阶段加入了白名单,如果没有验收环节处理,就会遇到上面的报错。在测试阶段白名单的账号无法发现该情况。

操作地址:https://open.alipay.com/api/detail?code=I1080300001000056967
登录账号:使用商户支付宝主账号与密码。
进入后点击在线接入可进入进入指引页面:

##关键:验收文档
https://opendocs.alipay.com/open/0ad77s?pathHash=e87928e7

3.2报错信息: 预授权完成 报: Business Failed卖家不在设置的收款账户列表之中
报错的原因是"seller_id":"xxx",这个账户和当前调用接口的不是同一个账户
seller_id这个参数没有特殊需求的情况下不用传的 或者 在预授权完成接口中按正确的值来传。传成老账号的seller_id就会报错。


3.3 接口验收需要提供订单的解冻和关闭等信息
解冻和交易关闭(循环扣款(支付宝没有金额扣款失败的情况,可以发起关闭操作)没有扣下来,可以操作关闭操作)
解冻是针对auth_no的操作,关闭交易是针对,trade_no的操作
关闭交易用这个接口https://opendocs.alipay.com/open/cdc34d41_alipay.trade.close?scene=common&pathHash=35defcd8

3.4 接口验收通过,最后页面验收发现没有创建小程序,因为小程序还是用的老账号的。所以最终这种情况还是得联系支付宝BD来人工处理。


4.上线后遇到需要验收通过后,遇到服务等级L2申请恢复到L3
商户维度单日冻结金额超限,额度规则请参考:https://opendocs.alipay.com/b/08mvl3?pathHash=11643f1c
这个只能通过等级的提高来提高额度
但原则上商家经营数据达标的话,系统会自动提升等级的。
联系支付宝BD来协助处理,将从L2调整到L3。


5.上线后的工作
1.上线后考虑冻结周期1年的自动解冻风险,对订单的生命周期控制在1年以内。
2.租车费用退货不退回服务费-服务费率是千分之六
3.新账号的信用违约的及时跟进处理,避免影响等级的升级。


6.支付宝配置,设置md5密钥
在开放平台老的账号管理 密钥管理 mapi网关产品密钥

 

7.新老账号同时存在,需要考虑兼容等

支付宝车生活回调走老的账号标识及异步通知的url地址修复 - 账号和异步回调地址要一致:

如果在某种场景或支付宝某种产品(比如:车生活)仍然走老的账号,需要考虑到设置支付账号和设置异步回调通知地址保持一致(绑定关系)。

否则会出现老的账号收款,但是新的账号的回调地址接收消息,最终订单没有收到回调,导致支付结果不一致。

 

posted on 2025-02-20 19:14  oktokeep  阅读(61)  评论(2)    收藏  举报