支付宝自助收银概念:快消,便利店场景摆放独立的支付宝独家收银设备并能完成用户自助扫脸收银。
阅读对象:自助收银app开发者,自助收银方案协议商户
本文概览:
一.方案介绍
1.1.支付宝自助收银硬件设备介绍
1.2.支付宝自助收银软件介绍
1.3.支付宝自助收银支付整体流程(含交互素材下载,支付宝logo素材下载,请务必使用官方素材,在上线前验收时必验证这部分。)
二.商户/ISV接入方案详细介绍
2.1.商户/ISV确定拓扑结构方案
2.1.1.商户门店链路&拓扑情况分析
2.1.2.支付宝自助收银总集成架构
2.1.3.商户确定集成拓扑链路
2.2.集成实施
2.2.1.扫脸硬件集成(包含扫脸apk,客户端sdk,服务端sdk,客户端demo,客户端演示应用下载)
2.2.2.支付集成(包含当面付详细对接说明超链接,注意事项说明)
2.2.4.机具管控集成(包含机具管控指南超链接,请务必集成机具管控,在上线前验收时必验证这部分。)
2.2.7.其他外设集成(包含当前支持自助收银方案的所有硬件设备详细参数,硬件如打印机等集成文档,sdk下载)
三.支付宝自助收银验收(请务必确认是按照验收要求的逻辑开发,需重点关注。)
包含最新的验收checklist,注意该文档不断更新补充中,且会更新标题的版本号。每次验收请留意是最新版本。
四.售后保障
提供上线后保障渠道联系方式,以便解决客诉和线上异常问题。
ps:硬件设备有多种型号,包括竖屏,横屏,商户可根据需求选型。硬件选型请联系支付宝BD。
设备上需要安装自助收银APP,该app由商户/系统商开发。自助收银app首页效果:
页面交互展示概览:请以表格中的交互标准为准,必须符合支付宝视觉规范标准,重要!
名称 | 版本 | 操作 | 备注 | 历史版本 |
自助收银产品规范 | 2018.5.9 | 下载 | 增加每页交互标准文字说明 | 2018.4.25 |
自助收银样式规范包(新版) | 2018.11.1 | 下载 | 包含源文件和设计规范文档 | |
支付宝logo素材 | 2018.5.10 | 下载 | 补充完善缺失的素材 | 2018.5.2 |
佐罗刷脸icon | 2018.9.28 | 下载 | 新集成的app必须使用该icon.已上线APP可以后续迭代更新 |
注意事项:
新集成的app需遵循下列标准,其中标号1的icon见上方表格素材中下载佐罗刷脸icon。验收会校验!存量已上线的app,后续版本升级时可以一并更改。
线下移动支付常见链路:
商品库&活动数据:门店数据库或门店pos每日定时获取当日的营销活动列表和商品价格明细,供当天营运。
对账:闭店后,门店pos上报报表以供对账。
支付:pos根据本地商品库和营销规则计算订单总价,扫描用户支付宝条码,封装信息,同步给服务端,服务端向支付宝发送支付请求,支付成功后结果原路返回。
用户在自助设备结算时,需实时显示商品信息和营销活动后的优惠详情。需要集成的目标架构图如
基于常见移动支付链路,集成链路如下。如商户链路不属于这种情况可以另做考量。
ps:唤起扫脸apk是通过外网直连支付宝上传人脸,所以针对扫脸功能,门店必须具备外网环境,如现有情况不符合,请联系支付宝技术人员支持。
准备工作:
1.商户根据自己的场景选择硬件设备。可联系支付宝BD了解详情。
2.与支付宝BD确认相关协议是否已签约。
客户端sdk:
摄像头由支付宝统一提供,所有摄像头的唤起需由系统商将SmileService1.9.3.jar集成入终端app中,由app调用SmileService1.9.3.jar的扫脸Api唤起apk完成扫脸部分的对接。
程序包 | 发布时间 | 备注 |
SmileService1.9.3.jar | 2018/3/14 | 点击下载 |
客户端apk:
根据不同设备的不同型号屏幕,分别做了差异化封装,系统商根据自助收银硬件设备的选型自行下载对应的apk。
适用设备 | 摄像头型号 | apk版本 | 备注 |
商米T2 横屏 | 奥比p1 | AstraP1-3.10.0.346.apk |
点击下载 |
中科英泰selfpos60、 竖屏海信HS6500、创捷中云-CCL7000-E24A-L03 | 奥比pro | AstraPro2-3.10.0.345.apk |
点击下载 |
客户端demo:
demo名称 | 开发语言 | 备注 | 下载 |
smiledemo.zip | Java | 不带账密,需要ISV填上账密后再运行。 | 点击下载 |
客户端演示应用(如果硬件设备还未收到需要联调,可以在手机上进行):
演示程序 | 说明 | 下载 |
2D-3.1.2.2018040901.apk | 刷脸程序安装包,仅适用于2D摄像头(比如手机摄像头) | 点击下载apk |
smiledemo.apk | 唤起刷脸程序的应用,相当于自助收银app,适用于所有Android设备 | 点击下载demo |
服务端sdk:
sdk名称 | 开发语言 | 备注 |
alipay-sdk-JAVA-ALL20180326160736 | java | 点击下载 |
alipay-sdk-NET-ALL20180409182104 | .net | 点击下载 |
alipay-sdk-PHP-ALL20180426105257 | php | 点击下载 |
详见:扫脸集成指南
扫脸部分集成流程:
支付部分调用当面付alipay.trade.pay接口,注意事项如下:
调用扫脸接口与支付接口的方式需要保持商户账号一致.具体案例如下:
注意
商户必须要重新给ISV做次应用授权,app_auth_token才会有扫脸初始化接口权限,否则调用接口会报40006,接口权限不足.40006
错,isv这边也可以留意下使用的app_auth_token前8位,这个是年月日.
注意
保证商户的账密体系安全,尽量不要在设备端报错商户账密信息(统一通过前置机加密调用支付宝开放平台接口). 机具管控介绍:
注意:
自助收银在用户交互时除了需调用摄像头,还需调用其他外设,如小票打印机,商品扫描枪,LED等硬件,系统商需根据不同的选型设备调用不同设备厂商的API.
自助收银设备型号 | 尺寸 | 集成文档 | 备注 |
商米T2 | 带底座的整体尺寸:839.6mm*532mm*1659.2mm 屏幕外形尺寸:323.4mm*519.6mm 显示页面尺寸:267.3mm*464.9mm |
https://docs.sunmi.com | 打印机驱动及demo 点击前往 扫码器:USB接口HID即插即用 |
中科英泰selfpos60 | 外形尺寸:381.5mm*251.2mm 显示页面的尺寸:344.23mm*193.54mm |
SelfPOS60_Android外部设备开发包V1.0 | |
海信HS6500 | 外形尺寸:381.5mm*251.2mm 显示页面的尺寸:344.23mm*193.54mm |
海信HS6500系列服务接口开发文档 | 点击下载 20190401有更新 |
创捷中云-CCL7000-E24A-L03 | 显示外形尺寸 23.8'' 1920*1080 | 创捷中云设备服务接口开发文档 | 点击下载 |
ISV按照商户需求开发小票打印功能.对于商米的T2设备,出厂时会加装卡槽以支持58mm打印纸(如下图所示).如商户是58mm规格,直接使用即可.如商户是80mm打印纸规格,可将挡板撤掉,即可固定80打印纸.
验收非常重要,必须验收,否则无法给出符合上线条件的依据。验收分为三个阶段
1.商户/ISV按照UI标准开发后,可以进行第一轮UI验收。ISV或商户提供扫脸支付和扫码支付主流程的两个视频给到支付宝。要求页面拍摄清晰。
2.商户/ISV下载《自助收银验收checklist3.5》,自行验收业务逻辑。支付宝业务同学到门店现场验收自行下载《自助收银业务验收文档5.18》
验收list版本历史记录
验收文档名称 | 版本号 | 修改日期 | 更改内容 |
自助收银项目验收v3.5.xlsx | v3.5 | 2018.6.11 | 《ISV技术验收(必验)》sheet中删除页面UI部分,UI交互以《ISV界面流程验收(必验)》为准 |
自助收银项目验收v3.4.xlsx | v3.4 | 2018.6.6 | 增加扫脸初始化请求中的alipayStoreCode需要和支付请求中的alipay_store_id(store_id和alipay_store_id二选一传即可,alipay_store_id为口碑店铺的口碑内部门店编号) |
自助收银项目验收v3.3.xlsx | v3.3 | 2018.5.23 | 增加说明若无条码商品小于3种的显示情况 |
验收文档名称 | 版本号 | 日期 | 备注 |
自助收银业务验收文档5.18.xlsx | v5.18 | 2018.05.31 | 增加一列空白,方便业务同学验收时打印纸质版后打对勾打叉 |
自助收银业务验收文档5.17.xlsx | v5.17 | 2018.05.28 | 个别细节增加可读性:颜色编码增加样色对照展示,解释sdk是什么等。验收项目无增加。 |
自助收银业务验收文档5.16.xlsx | v5.16 | 2018.05.23 | 增加说明若无条码商品小于3种的显示情况 |
3.以上两项验收通过后,联系支付宝人员到门店验收。
一、在线IM(保证处理时效,工作日9:00-18:00)
https://cschannel.alipay.com/newPortal.htm?scene=mt_zczx
打开链接输入pid,系统识别大商户,自动分配值班技术同学支持
二、技术邮箱(保证处理时效,工作日9:00-18:00,解决上线后疑难杂症)
techservices@alipay.com
如在集成过程中遇到问题,请联系支付宝技术同学。
一、门店代理方案
https://doc.open.alipay.com/docs/doc.htm?&docType=1&articleId=108557
二、白名单列表:
属性 服务器 |
描述 | 直连外 | VPN/白名单 | 代理 |
本地pos | 方案 | 正常宽带连接 有线/路由器均可 单次支付100k左右 TIPS:(服务端为本地pos情况下)保证与本地pos在同一网络环境下.比如链接同一个wifi或者在同一路由器/交换机内. |
请添加如下地址: 应用市场访问以及应用下载地址: api.sunmi.com(80/443) apk.cdn.sunmi.com(80/443) http://49.4.66.28:80 http://49.4.66.28:886 机具管控/扫脸访问地址: mdap.alipaylog.com loggw.alipay.com mdap.alipay.com mobilegw.alipay.com myh2.alipay.com iothub.alipay.com |
应用市场访问以及应用下载:目前除添加白名单外无其他方案,可以在设备使用期外通过联公网环境下载后在切换业务网络环境. 机具管控/扫脸访问: 参考文档 https://doc.open.alipay.com/docs/doc.htm?&docType=1&articleId=108557 |
责任人 | ISV/商户IT/信息部 | 商户IT/信息部 | ISV 提供代理:ISV 商户提供代理:商户IT/信息部 |
Q:调用刷脸初始化接口,出现错误:Insufficient Token Permissions-商户未授权当前接口?
A:这个错误代表请求中的app_auth_token无效,有可能是因为在应用未绑定刷脸功能包之前,商户就已经为ISV的appid进行了授权。解决的办法是确认应用已经绑定支付级刷脸服务功能包,然后商户再进行应用授权。如果问题依然存在,可通过alipay.open.auth.token.app.query接口确认商户是否为正确的appid进行了授权。具体接口的调用方法可参考 https://docs.open.alipay.com/20160728150111277227/intro
Q:调用刷脸初始化接口,无效的appId参数[40002、invalid-app-id]?
A:这个错误有可能由以下原因导致。
(1)app_id在对应环境里未上线或者不存在。
Q:调用刷脸初始化接口,出现错误:Insufficient Conditions[40003、isv.missing-signature-config]?
A:这个错误有可能由以下原因导致。
(1)appId没有在开发者中心配置密钥(openhome.alipay.com);
(2)appId发起接口调用和实际配置的密钥方式不一致,即传的sign_type和实际配置密钥配置不匹配。如配置了RSA2,但是传了sign_type=RSA。
Q:调用刷脸初始化接口,出现错误:"code":"40004","msg":"Business Failed","sub_code":"unknown-sub-code","sub_msg":"未知的错误码SMILE_TO_SIGN_INVALID"?
A:这个错误的原因是调用刷脸接口的商户的签约订单已经失效或者未生效。
(1)对于订单未生效,常见的情况是未完成前台确认;
(2)对于签约订单失效,可以请相关行业的BD进入ABOSS确认原因。
Q:调用刷脸初始化接口,出现错误:"code":"40004","msg":"Business Failed","sub_code":"unknown-sub-code","sub_msg":"未知的错误码SMILE_TO_UNSIGNED"?
A:这个错误的原因是调用刷脸接口的商户未完成签约。
(1)如果是ISV授权模式下,这里指的是授权商户未完成签约,提供PID给相关行业的BD,完成ABOSS签约;
(2)如果是自研商户直接调用的模式下,这里指的是自研商户未完成签约,提供PID给相关行业的BD,完成ABOSS签约;
(3)如果是ISV处于测试阶段,不能完成商户签约的情况下调用刷脸初始化接口,可以请对接的BD或者行业技术同学向人脸团队的产品运营同学申请为ISV进行加白;
(4)如果ISV已经申请过白名单,可能是在白名单到期前没有满足测试机具的deviceNum要求(如下),修正后,可以请对接的BD或者行业技术同学向人脸团队的产品运营同学申请为ISV进行延期。
测试机具的deviceNum要求
在调用zolozInstall, zolozGetMetaInfo以及initialize接口的时候,入参Map中的deviceNum子对象的值,必须以“TEST_ZOLOZ_”开头,如“TEST_ZOLOZ_1001”, 用于标识该机具为测试机具。如果存在多台测试机具,要确保deviceNum的唯一性
Q:调用刷脸初始化接口,出现错误:ISV权限不足[40006、isv.insufficient-isv-permissions]?
A:这个错误有可能由以下原因导致。
(1)应用还未上线(常见),请确保应用提交审核并通过;
(2)应用没有挂载对应的接口调用权限,请查看应用的功能列表中存在“支付级刷脸服务”。如果没有的话,请将APPID提供给对接的支付宝同学向人脸团队的产品运营同学申请绑定刷脸功能包;
(3)使用了错误的应用ID(调用的应用ID与业务排查的应用ID不一致);
(4)应用只挂载了“支付级刷脸服务”功能包,该功能包要求签约开通,而ISV没有完成签约。需要请对接的BD或者行业技术同学向人脸团队的产品运营申请挂载全面开通的功能包。
Q:调用刷脸初始化接口,出现错误:此用户不允许自调用[40006、isv.self-invoke-forbidden]?
A:是由于当前应用是第三方应用,调用接口却用自用型调用模式,解决方案如下。
(1)继续使用当前应用进行联调,调用接口方式换成第三方应用授权模式;
(2)重新新建一个自应用的应用进行联调,需要请对接的BD或者行业技术同学向人脸团队的产品运营申请挂包。
以上Q&A中无法解决的问题 请详见支付宝刷脸支付FAQ