1 范围
本规范规定了微信支付二维码的质量要求,包括二维码生成、显示、受理和安全要求。
本规范适用于微信支付机构、商户、服务提供商内使用二维码实现收款、设备绑定或营销等功能的产品中二维码的设计、展示和维护。
2 规范性引用文件
国家标准(GB/T-2000)
3. 术语和定义
微信支付二维码:微信支付向用户或商户产品提供二维码,或者商户和服务提供商自行生成二维码以提供微信支付相关功能。 例如支付二维码、支付二维码、绑定设备码或营销功能二维码等。
容错级别:二维码具有容错设计。 当二维码局部区域被遮挡或污损时,仍能正常识别和解码。 QR码容错级别分为4个级别(L、M、Q、H)。 级别越高,可恢复码字的比例越高。
4.二维码简介 4.1. 二维码系统简介
常用的二维码系统包括:QR Code、 code、QR code、QR code、Code 49、Code 16K、Code one等,示例如图1所示:
二维码 汉萨码 代码
图1 二维码示例
关于二维码的相关背景知识请参考:(新增)
4.2. 微信支付码系统
微信收款二维码采用二维码系统二维码( Code,简称QR Code)。 下面所说的二维码特指二维码。 商户可以参考符合二维码国家标准(GB/T-2000)的第三方库生成支付二维码(注:不支持QR码和IQR码标准)。
另外,如果您使用微信小程序对外提供服务,可以将微信支付二维码替换为小程序代码(如图3所示),在小程序内实现微信支付相关功能。
图2:二维码示例
图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:停车场支付二维码 六、二维码技术要求
二维码能否被扫描会受到图案完整性、图案复杂程度、色彩对比度、扫描距离、环境光线、扫描设备分辨率等因素的影响。 编码的信息越多,QR 码图案就越复杂。 很长内容的二维码图案会非常复杂,需要清晰且大的图像才能完整显示。
6.1. QR 码生成标准 6.1.1。 设置内容格式
微信支付API返回给商户的二维码内容
统一使用“:///自定义数据”格式协议,支付二维码内容示例:
:////向上?pr=
商户定制H5链接二维码
H5链接符合URL格式规范域名/自定义数据。 自定义数据可由商户根据场景需求进行设置。
6.1.2.设置内容长度
随着内容长度的增加,二维码的密度也会增加。 当二维码的显示尺寸受到限制时,点阵过于密集,导致二维码难以识别,甚至无法识别。 表1为二维码识别效果对比:
表1:相同尺寸不同内容长度的QR码
QR码字符的识别
30 个字符
可识别的
50 个字符
可识别的
100 个字符
难以识别
200 个字符
难以识别
1000 个字符
无法识别
生成二维码时,应根据二维码显示区域的边长设置合理的内容长度。 内容长度标准如表2所示:
二维码边长内容长度
2~3厘米
小于或等于30个字符
3~4厘米
小于或等于 50 个字符
4~6厘米
小于或等于80个字符
6厘米以上
小于或等于 100 个字符
如果实际内容长度超过上述要求,请按照以下措施减少字符长度:
URL域名:建议不超过15个字符,使用简短的三级域名,不要使用复杂的多级域名;
URL路径:使用短路径名,不要使用多级目录;
如果上述措施仍不能满足实际场景的要求,可以将链路转换为较短的链路。 具体方法请参见附录7.2 短链接优秀实践。
6.1.3.设置容错级别
QR码容错级别分为4个级别(L、M、Q、H)。 级别越高,可恢复码字的比例越高。 各等级人物具体恢复率为L:7%、M:15%、Q:25%、H:30%。 对于相同长度的内容,容错级别越高,二维码的密度越大。
1.二维码显示在屏幕、优质纸张或受保护的代码标签上,并使用低容错级别(建议使用L级别)。
2. 将二维码打印在普通纸张上并显示。 建议使用中等容错级别(建议使用M级别)。
3.当放置在有遮挡的场景显示中时,建议使用高容错级别(Q或H级别)。
6.1.4.设置分辨率
二维码显示在不同的介质上,对分辨率的要求也不同。 为了保证二维码能够清晰呈现并扫描识别; 作为屏幕使用时,建议二维码图像的分辨率不小于1,如图17所示。 打印和使用时,建议二维码图像分辨率为100或以上,如图18所示。
图 17:屏幕显示分辨率设置
图 18:打印分辨率设置 6.2. 二维码显示标准6.2.1。 对比
对比度和光量影响相机的成像速度和扫描效率。 二维码在不同介质中使用时,显示效果可能会有所不同,如图19所示。为了实现各种场景下的可扫性,建议二维码点阵为黑色,背景为白色。 不建议使用灰色或彩色二维码。
正确的例子
错误示例
错误示例
6.2.2. 二维码尺寸
针对不同场景的使用,建议商户按照规范生成二维码,如表3所示。商户也可以根据实际情况调整二维码大小。 内容长度对应的具体大小请参考6.1.2节设置内容长度。
表3:根据场景选择二维码边长
使用场景扫描距离推荐的二维码边长
订单收据
0.1~0.2米
不小于2cm
网络支付
0.2~0.6米
不小于2.5cm
自助点餐
0.1~0.3米
不少于3厘米
收银台***
0.2~1米
不小于4cm
支付卡领取
0.3-2米
不少于10cm
支付卡领取
1.5~5米
不小于30cm
6.2.3. 点阵遮挡
二维码有容错限制,不建议覆盖图形元素。 二维码识别有3个定位关键点。 如果这三部分被遮挡,则二维码将无法识别,如图20。如果需要给二维码添加标识,则需要使用居中覆盖,如图21。建议使用容错级别为M的二维码,并保证覆盖面积不超过10%,或者使用容错级别为H的二维码,覆盖面积不超过25%。 进行设备识别测试,通过二维码后才能对外发布二维码。
图20:锚点无法被遮挡
图 21:LOGO 居中叠加
6.3. 二维码受理要求
为了满足用户的微信支付扫描体验要求,必须对支付二维码进行质量检验。 支付二维码上线前需要在实际环境中进行测试和体验,完成验收后方可上线。 上线后,必须做好支付二维码的日常维护。 具体检查项目及解决方案见表4。
表4:二维码验收检查项目
质量工程检验项目解决方案
二维码显示
二维码打印不清晰或打印区域不完整
转载清晰二维码
二维码显示
二维码褪色、被污渍遮挡或损坏,无法识别
定期检查和更新二维码
二维码访问
内容链接无法访问
建立网站服务异常检测并实时修复的机制
二维码访问
扫描显示空白页

QQ客服