微信支付订单号查询订单
本规范规定了微信支付二维码的质量要求,包括二维码生成、展示、验收和安全要求。
本规范适用于微信支付组织内部、商户、服务商使用二维码实现收款、绑定设备或营销等功能的产品中二维码设计、展示和维护。
2. 规范性引用文件
国家标准(GB/T 18284-2000)
3. 术语和定义
微信支付二维码:微信支付提供给用户或商户产品中包含的二维码,或商户和服务商自行生成提供微信支付相关功能的二维码。例如收款二维码、付款二维码、绑定设备码或营销功能二维码等。
容错等级: 二维码设计有容错功能,当二维码局部区域被遮挡或污损时仍可以正常识别解码。二维码容错等级分为4等(L、M、Q、H),等级越高对应可恢复的码字比例越高。
4. 二维码介绍 4.1.二维码码制介绍
常用的二维码码制有:QR Code、汉信码、二维条码、二维条码、Code 49、Code 16K、Code one等。样例如图1所示:
QR码 汉信码 码 码
图1 二维码样例
QR二维码的相关背景知识可参考: (opens new )
4.2.微信支付码制标准
微信支付收款二维码采用码制为快速响应矩阵码(简称QR Code),下文说的二维码特指QR码。商户可通过引用符合QR码国家标准(GB/T 18284-2000)的第三方库生成收款二维码(注意:不支持Micro QR和IQR码标准)。
此外,如使用微信小程序提供对外服务,可将微信支付二维码更换为小程序码(如图3所示),在小程序内实现微信支付相关功能。
图2:QR码样例
图3:小程序码样例
5. 二维码使用场景 5.1.微信支付提供给商户的二维码
微信支付提供给商户二维码链接或图片,例如生活缴费提供给商户打印在缴费单上的缴费二维码,如图4所示:
图4:生活缴费二维码生成工具
微信支付提供模版下载二维码图片,如微信面对面收款(如图5所示)和付款二维码(如图6所示)。
图5:面对面收款二维码
图6:付款二维码
微信支付对外提供实体物料上的二维码,如微信买单码牌的二维码,如图7所示:
图7:微信买单二维码码牌
微信支付营销宣传物料或海报中使用的二维码,如海报中心加好友二维码,如图8所示:
图8:微信海报中的二维码
微信支付对外提供设备上做绑定的二维码,如收款机具绑定码,收款音箱等,如图9所示:
图9:收款机具绑定二维码 5.2.商户自行生成二维码场景
订单小票二维码:商户将二维码打印在订单小票(如图10所示)或缴费单(如图11所示)上,用户扫描后可完成支付:
图10:超市订单小票
图11:医院就诊缴费单
WEB网页收款二维码:用户在商户WEB页面下单后,直接扫描网页上显示的订单二维码完成付款,如图12所示:
图12:WEB页面收款二维码
自助点餐二维码:用户扫描带有桌号的二维码后打开H5或小程序,选择商品确认下单,最后直接完成支付,如图13所示:
图13:自助点餐二维码
收银台收款二维码:商户提供收银台码牌上的二维码, 用户扫描后可输入金额完成支付,如图14所示:
图14:收银台收款二维码
自助设备上的收款二维码:展示在设备上,用户扫描后付款,如图15所示:
图15:充电宝借还机器收款二维码
停车场缴费牌收款二维码:展示停车场的墙壁上,在用户扫描二维码打开H5页面,输入车牌信息完成付款,如图16所示:
图16:停车场收款二维码 6. 二维码技术要求
二维码能否扫描会受到图案完整度、图案复杂度、颜色对比度、扫描距离、环境光线、扫描设备分辨率等因素的影响。编码信息越多,二维码图案越复杂。超长内容的二维码图案会非常复杂,需要足够清晰的大图才能完整展示。
6.1.二维码生成标准 6.1.1.设置内容格式
微信支付API返回给商户的二维码内容
统一使用“://wxpay/自定义数据”格式协议,支付的二维码内容样例:
://wxpay//up?pr=
商户自定义H5链接二维码
H5链接符合URL格式规范域名/自定义数据,自定义数据可由商户根据场景需要设置对应的内容。
6.1.2.设置内容长度
随内容长度增加二维码密度会增大,当二维码显示尺寸被限制时,点阵太密会导致二维码难识别,甚至无法识别,二维码识别效果对比如表1所示:
表1:同尺寸下不同内容长度的二维码
二维码 字符数 可识别程度
30个字符
可识别
50个字符
可识别
100个字符
较难识别
200个字符
较难识别
1000个字符
无法识别
生成二维码时,应根据二维码显示区域边长设置合理的内容长度,内容长度标准见表2所示:
二维码边长 内容长度
2 ~ 3cm
小于等于30个字符
3 ~ 4cm
小于等于50个字符
4 ~ 6cm
小于等于80个字符
6cm以上
小于等于100个字符
如果实际内容长度超过以上要求,请按以下措施减少字符长度:
URL域名:建议不超过15个字符,使用简短的三级域名,不使用复杂的多级域名;
URL路径:使用简短的路径名,不使用多级目录;
如果以上措施仍无法满足实际场景要求,可将链接转为较短的链接,方法见附录7.2节短链接最佳实践。
6.1.3.设置容错等级
二维码容错等级分为4等(L、M、Q、H),等级越高对应可恢复的码字比例越高,具体每个等级可恢复的字符比例为L:7%,M:15%,Q:25%,H:30%。相同长度的内容,容错等级越高,二维码密度越大。
1、二维码展示在屏幕、质量较好的纸上或者有保护的码牌,使用低容错等级(建议使用L等级)。
2、二维码打印在普通纸张展示,建议使用中容错等级(建议使用M等级)。
3、放置在有遮挡场景展示时,建议使用高容错等级(Q或H等级)。
6.1.4.设置分辨率
二维码展示在不同媒介上,对分辨率有不同的要求,为保证二维码能够清晰呈现并被扫描识别;作为屏幕使用时,建议二维码图像分辨率不小于72dpi,如图17所示。印刷使用时建议二维码图像分辨率为或以上,如图18所示。
图17:屏幕显示分辨率设置
图18:印刷分辨率设置 6.2.二维码展示标准 6.2.1.对比度
对比度、进光量影响摄像头的成像速度及扫码效率,当二维码在不同媒介使用时,显示效果可能不一样,如图19所示。为兼顾各种场景展示实现可扫描,建议二维码点阵为黑色,背景为白色,不推荐使用灰色或彩色二维码。
正确样例
错误样例
错误样例
6.2.2.二维码尺寸
不同场景的使用,建议商户按规范生成二维码,如表3所示。商户也可根据实际情况来调整二维码尺寸,具体尺寸对应内容长度参见6.1.2节设置内容长度。
表3:按场景选择二维码边长
使用场景 扫描距离 建议二维码边长
订单小票
0.1~0.2米
不小于2cm
WEB收款
0.2~0.6米
不小于2.5cm
自助点餐
0.1~0.3米
不小于3cm
收银台收款
0.2~1米
不小于4cm
缴费牌收款
0.3-2米
不小于10cm
缴费牌收款
1.5~5米
不小于30cm
6.2.3.点阵遮挡
二维码有容错率限制,不建议覆盖图形元素。二维码识别中存在三个关键定位点,如果这三个部位被遮挡,将无法识别到二维码,如图20所示。二维码如果需要添加LOGO标识,需使用居中覆盖,如图21所示,建议使用容错等级为M的二维码并保证覆盖面积不超过10%,或者容错等级为H的二维码覆盖面积不超过25%。进行设备识别测试,通过后方可对外发布二维码。
图20:定位点不可遮挡
图21:LOGO居中覆盖
6.3.二维码验收要求
为满足用户微信支付扫描体验要求,要做好收款二维码的质量检查,收款二维码上线前,需要在实际环境下测试和体验,验收完成再上线。上线后,要对收款二维码做好日常维护。具体检查项目和解决方案见表4
表4:二维码验收检查项
质量项目 检查项 解决方案
二维码展示
二维码打印不清晰或打印区域残缺
重新打印清晰的二维码
二维码展示
二维码颜色变淡、污渍遮挡或损毁,无法识别
定期检查和更新二维码
二维码访问
内容链接不可访问
建立发现网站服务异常机制,能实时修复
二维码访问
扫描显示空白页
