背景
因业务发展需要,支付宝付款码将由原来的28开头扩充到25-30开头,长度由原来的16-18位扩充到16-24位。 风险 如果商户对接当面付条码支付接口时,有对支付宝条码做码段和长度的限制,而未进行此升级,付款码升位后将无法正确处理支付宝付款交易。
技术方案
1. 建议: 未来随移动支付产业的发展,用户付款码可能会有所加长,建议服务端做好设计预留工作. 如果服务端在对接当面付条码支付接口时,有对支付宝条码做码段和长度的限制,请务必完成相关升级.
2. 涉及接口: alipay.trade.pay:统一收单交易支付接口 中的"auth_code"参数. alipay.fund.auth.order.freeze:资金授权冻结接口 中的"auth_code"参数. alipay.acquire.createandpay:统一下单并支付接口中的"dynamic_id"参数.
3. 改造耗时 主要工作在于去除服务端及收银端代码中对支付宝条码码段和长度的限制,但改造后务必做好对应回归测试,确保正常收单,从开始改造到测试完成并发布请预留一周时间。
4. 改造过程 主要涉及三个阶段:
A.技术改造:需先由商户技术同学改造收银系统终端或服务端逻辑代码,去除对支付宝条码码段和长度的限制。
B.系统更新:针对部分系统商来说,需要提醒或协助商户更新终端系统。
C. 结果验收 :在商户确认改造完成后,我们会提供验证工具并结合新版本钱包进行交叉验证,确认改造结果。
商户如何测试付款码:用户可以通过扫描链接中的二维码将自己的钱包下次生码改为19位以上,便于回归收单业务逻辑。
FAQ
Q:支付宝为什么要做这个升级?
A:您好,由于支付宝业务发展的需要,特此做此升级.
Q:支付宝什么时候正式切换新规则?
A:从2017年9月逐步开始使用新的付款码,请您尽快配合做好升级处理,以免影响正常收款功能.
Q:如果我逾期没有升级会有什么影响?
A:如果贵公司在对接当面付条码支付接口时,有对支付宝条码做码段和长度的限制,而未进行此升级,在未来将无法正确处理支付宝付款交易.
Q:如果本地收银端升级比较慢,支付宝有没有建议的过渡方案?
A:建议汇总升级比较困难的商户和门店信息,我们会协调技术支持同学一起跟进.
Q:切换升级之后如何测试验证?
A:建议传参符合最新规则的条码值进行测试 正则表达式(如下),完整代码请下载这个demo测试(仅供参考):code.zip
var reg = /^(((2[5-9])|(30))\\d{14,22})$/;
如果正则表达式有问题欢迎在帖子下方追问吐槽或者@我