扫码点菜接入方案,是一种将商家菜单通过集成方式形成桌边二维码,用户通过扫码来完成点菜、下单、支付的便捷方式。点菜界面可支持常用的热品推荐,更可以与支付产品结合,形成扫码点菜、下单、结账的一条完整流程。
对于商家而言,扫码点菜节省了人力成本,点菜下单效率加快;对于消费者而言,到店消费体验的新升级,带来全新的就餐体验。
点菜场景开发者可根据自己需求自行设计。此处举例两种常见点菜方式:先付款后就餐和先就餐后付款。
可使用网页获取用户信息的方式获取 userid,与点餐插件系统内会员功能打通来实现用户点菜时的免登。
其中在点菜流程中,需调用支付的JSAPI实现唤起支付宝扫一扫能力,保证码能够被成功识别。
在菜单页,有固定栏目“本周最火”,此栏目根据此门店的历史点菜记录智能显示菜品的排行榜,ISV可调用菜品热度查询接口,查询具体的排行。菜品热度查询接口数据基于ISV回传的菜品及点菜订单信息,综合口碑交易数据。本菜单栏为建议要有,该接口调用是可选项,如果不调用也可自主创建。
接口调用流程参见“菜品分析数据开放快速接入”。
接口参数参见“alipay.offline.provider.dish.query (口碑菜品热度查询)”。
在扫码点菜的业务场景下,用户需要进行支付时,需调用alipay.trade.create (统一收单交易创建接口),用于交易的创建,唤起收银台进行支付还需要结合一个JSAPI。
创建订单+JSAPI唤起收银台支付在线文档:
https://doc.open.alipay.com/docs/doc.htm?&docType=1&articleId=105591
交易的查询、撤销、退款、对账等功能调用请参见文档:
https://doc.open.alipay.com/docs/doc.htm?reeId=194&articleId=105170&docType=1#s3
ISV需要将门店的菜品数据、用户点菜的订单数据回传给口碑,数据将用于口碑门店建设、菜品营销、菜品推荐等场景。
涉及到的接口有:
商户操作行为接口(alipay.offline.provider.shopaction.record)
用户操作行为接口(alipay.offline.provider.useraction.record)
接口参数的详细说明请参见“店铺行为数据”和“用户行为数据”。
要在您的应用中使用开放产品的接口能力,您需要登录开放平台,在开发者中心中创建登记您的应用,并提交审核,审核通过后会为您生成应用唯一标识(APPID),并且可以申请开通开放产品使用权限,通过APPID您的应用才能调用开放产品的接口能力。需要详细了解开放平台创建应用步骤请参考《应用创建指南》。
实现扫码点菜业务必须开通以下产品功能(创建应用时添加),才能调用相应的接口:
相关的API如下
功能 | 相关API | 描述 | 查看 |
---|---|---|---|
当面付 | alipay.trade.create | 统一收单交易创建接口 | 查看API |
当面付 | alipay.trade.query | 统一收单线下交易查询 | 查看API |
当面付 | alipay.trade.cancel | 统一收单交易撤销接口 | 查看API |
当面付 | alipay.trade.refund | 统一收单交易退款接口 | 查看API |
菜品分析数据开放 | alipay.offline.provider.dish.query | 菜品热度查询 | 查看API |
店铺数据 | alipay.offline.provider.useraction.record | 用户数据回传(包含点菜订单,预订订单等) | 查看API |
店铺数据 | alipay.offline.provider.shopaction.record | 门店信息回传(包含菜单,门店状态,桌位信息) | 查看API |
开发者调用接口前需要先生成RSA密钥,RSA密钥包含应用私钥(APP_PRIVATE_KEY)、应用公钥(APP_PUBLIC_KEY)。生成密钥后在开放平台开发者中心进行密钥配置,配置完成后可以获取支付宝公钥(ALIPAY_PUBLIC_KEY)。详细步骤请参考《配置应用环境》。
为了帮助开发者调用开放接口,我们提供了开放平台服务端SDK,包含JAVA、PHP和.NET三个语言版本,封装了签名&验签、HTTP接口请求等基础功能。请先下载对应语言版本的SDK并引入您的开发工程。
各语言版本服务端SDK详细使用说明,请参考《服务端SDK说明》。
在SDK调用前需要进行初始化,以Java代码为示例如下:
AlipayClient alipayClient = new DefaultAlipayClient(URL, APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY, SIGN_TYPE);
关键参数说明:
配置参数 | 示例值解释 | 获取方式/示例值 |
---|---|---|
URL | 支付宝网关(固定) | https://openapi.alipay.com/gateway.do |
APPID | APPID 即创建应用后生成 | 获取见上面创建应用并获取APPID |
APP_PRIVATE_KEY | 开发者私钥,由开发者自己生成 | 获取详见上面配置密钥 |
FORMAT | 参数返回格式,只支持json | json(固定) |
CHARSET | 编码集,支持GBK/UTF-8 | 开发者根据实际工程编码配置 |
ALIPAY_PUBLIC_KEY | 支付宝公钥,由支付宝生成 | 获取详见上面配置密钥 |
SIGN_TYPE | 商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2 | RSA2 |
接下来,就可以用alipayClient来调用具体的API了。alipayClient只需要初始化一次,后续调用不同的API都可以使用同一个alipayClient对象。
为了保证应用的安全性,开发前需要了解安全开发指南;
扫码点菜接入方案,是将几个成熟的产品组合起来实现的一个功能,所以此处不单独介绍各个产品的接入示例。此处将开发者在扫码点菜中用到的功能进行梳理,实现的功能和对应的产品进行对照,如下表格:
具体实现功能对应的产品 | 产品 | 相关API调用示例请点击查看 | 描述 | API文档查看 |
---|---|---|---|---|
扫码点菜下单后的支付功能:开发者可使用当面付产品中的alipay.trade.create接口结合JS功能实现支付 | 当面付 | alipay.trade.create(暂无,请参考API文档中的调用示例) | 统一收单交易创建接口 | 查看API |
当面付 | alipay.trade.query(暂无,请参考API文档中的调用示例) | 统一收单线下交易查询;辅助查询交易状态,为保障在各种情况下实时获取交易状态,开发者需按接口标准对接此接口。 | 查看API | |
当面付 | alipay.trade.cancel(暂无,请参考API文档中的调用示例) | 统一收单交易撤销接口;辅助撤销交易,当查询到的交易状态不明确,可调用此接口撤销交易,注意:24H内已支付过的订单调用此接口会退款并关闭交易,未付款会直接关闭交易,建议商户使用此功能时与买家确认后操作。 | 查看API | |
当面付 | alipay.trade.refund | 统一收单交易退款接口;交易退款时使用,退款是实时退款,资金原路返回。 | 查看API | |
当面付 | alipay.data.dataservice.bill.downloadurl.query | 查询账单下载地址接口;对账使用,方便开发者用程序获取对账单进行对账。 | 查看API | |
JS功能唤起无线收银台 | https://doc.open.alipay.com/docs/doc.htm?&docType=1&articleId=105591 | 配合当面付接口使用,主要作用是给待付款订单唤起收银台,让用户在手机上快捷支付!提升支付体验 | ||
开发者将用户和门店信息回传给口碑,口碑会结合自身数据对回传数据进行分析,分析结果开发者可以通过“菜品分析数据开放”产品查询到 | 店铺数据 | alipay.offline.provider.useraction.record | 用户数据回传(包含点菜订单,预订订单等) | 查看API |
店铺数据 | alipay.offline.provider.shopaction.record | 门店信息回传(包含菜单,门店状态,桌位信息) | 查看API | |
用此产品查询到的内容,为菜单中的"本周最火"内容。开发者不能直接使用“菜品分析数据开放”产品,此产品的数据来源依赖开发者通过“店铺数据”产品将数据先回传给口碑,口碑对这些数据进行整理分析才有数据可以查询。 | 菜品分析数据开放 | alipay.offline.provider.dish.query | 菜品热度查询 | 查看API |
如何创建(插件)并在口碑服务市场售卖,请参见“服务创建及发布流程”。