为保证用户的浏览体验“测试门店”对未添加白名单的用户是隐藏的。用户无法直接查看“测试门店”必须通过申请添加白名单后才能查看,申请添加白名单请参考《测试门店流程升级通知公告》。
1)登录开放平台(个人账号/企业账号都可以):https://open.alipay.com
2)点击右上角“免费入驻”,根据提示完成入驻。
登录开放平台后,在管理中心要创建一个应用(请浏览创建、配置应用信息、申请上线部分),给应用添加口碑开店接口权限(请看应用添加功能权限部分即可),然后申请应用上线,上线审核通过后,就可以调用接口创建测试门店。详细步骤请参考《开放平台应用创建指南》。(此页面中的协作费相关内容在此环节中可忽略)。
开发者调用接口前需要先生成RSA密钥,RSA密钥包含应用私钥(APP_PRIVATE_KEY)、应用公钥(APP_PUBLIC_KEY)。生成密钥后在开放平台管理中心进行密钥配置,配置完成后可以获取支付宝公钥(ALIPAY_PUBLIC_KEY)。详情请参考《配置应用环境》(请浏览页面中关于秘钥生成和上传部分)。
开发者在开发过程中,需要添加“口碑开店”功能到“功能列表”。可参考《添加应用功能》。
注意:只有应用审核通过后,才可以调用接口。在添加完接口权限后,开发者申请应用上线,应用上线需要1~2个工作日审核。
在SDK调用前需进行初始化。初始化所需的信息(APPID、支付宝网关、支付宝公钥")请参考《配置应用环境》的配置信息。
JAVA代码如下:
//初始化实例请求对象 public static String APP_ID = "请填应用的APPID"; public static String APP_PRIVATE_KEY = "请填PKCS8格式的应用私钥"; public static String ALIPAY_PUBLIC_KEY = "请填支付宝公钥"; public static AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipaydev.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", "GBK",ALIPAY_PUBLIC_KEY,"RSA2");
创建门店需要用到门店的相关照片,需通过该接口至少上传3张照片,上传照片后同步返回的"image_id"将用于创建门店时上传的图片值。
注意:上传图片时,需注意图片所在路径为电脑中图片所在路径。
接口调用JAVA代码如下:
//初始化请求对象实例 AlipayOfflineMaterialImageUploadRequest request = new AlipayOfflineMaterialImageUploadRequest(); //图片格式 request.setImageType("jpg"); //图片名称 request.setImageName("门店照片"); //图片所在路径 FileItem imgContent = new FileItem("C:/Downloads/测试图片.jpg"); request.setImageContent(imgContent); //初始化返回对象实例并获取返回信息 AlipayOfflineMaterialImageUploadResponse response = alipayClient.execute(request); //输出返回信息,开发者自行处理,此处打印实例为方便调试查看 if (response.isSuccess()) { System.out.println("调用成功:" + response.getBody()); } else { System.out.println("调用失败:" + response.getBody()); }
返回信息如下:
调用成功:{ "alipay_offline_material_image_upload_response": { "code": "10000", "msg": "Success", "image_id": "E-Q6JqGrR3SqxxQA58uasgAAACMAAQED", "image_url": "https://dl.django.t.taobao.com/rest/1.0/image?******" }, "sign": "******" }
测试门店需通过该接口创建方能通过审核,创建测试门店的分店名(不是主店名)必须包含”ISV仅供测试“这几个字。为一次提交能审核通过,请仔细查看“重要参数说明”中相关注意事项。
重要参数说明
创建测试门店的分店名(不是主店名)必须包含”ISV仅供测试“这几个字。
不同类目id需要上传的证件数量不同和参数不同,如下示例类目为美食-中餐-川菜,需要证件:营业执照+《食品经营许可证》或《餐饮服务许可证》,需要必须传的营业执照参数(licence、licence_code、licence_name、licence_expires)和许可证参数(business_certificate、business_certificate_expires)。详情请参考《口碑类目》。
下载Excel地区编码表,搜索获取门店对应地区值。推荐使用北京、上海、杭州三个城市在国家统计局中有的区域进行测试,如遇到区域不存在的情况,请更换区域调试;详情请参考《地区编码表》。
至少需要上传3张门店图片,至少包含一张门头照片,两张内景照片,多个图片之间以英文逗号分隔,如下示例代码创建测试门店可用同一张图片的image_id使用3次,中间用英文逗号分隔;
利用“高德经纬度查询”找到门店所在位置的经纬度值。经纬度是门店搜索和活动推荐的重要参数,录入时请确保经纬度参数准确。详情请参考《高德经纬度查询》。
此字段必须是个合法uid,2088开头的16位支付宝会员账号,如果传入错误将无法创建门店。详情请参考《查看合作伙伴身份(PID)》。
通过接口创建请求提交开店申请后,会有个审核过程,需要通过官方审核门店才能营业,审核时间一个工作日。查看审核结果请访问《门店管理》
接口调用JAVA代码如下:
//初始化请求对象实例 AlipayOfflineMarketShopCreateRequest request = new AlipayOfflineMarketShopCreateRequest(); //配置创建门店所需的业务参数 request.setBizContent("{" + //外部门店编号,最长32位字符,确保其唯一性。 "\"store_id\":\"hzccjd01\"," + //类目id,请看“重要参数说明” "\"category_id\":\"2015050700000010\"," + //主门店名,主店名长度不能超过20个字符。 "\"main_shop_name\":\"杭州川菜酒店\"," + //分店名称,与主门店名合并在客户端显示为:杭州川菜酒店(西湖店)。 "\"branch_shop_name\":\"西湖店ISV仅供测试\"," + //省份编码,请看“重要参数说明” "\"province_code\":\"330000\"," + //城市编码,请看“重要参数说明” "\"city_code\":\"330100\"," + //区县编码,请看“重要参数说明” "\"district_code\":\"330106\"," + //门店详细地址,规范格式填写地址,例1:道路+门牌号,“人民东路18号”;例2:道路+门牌号+标志性建筑+楼层,“四川北路1552号欢乐广场1楼”。 "\"address\":\"万塘路18号黄龙时代广场1楼\"," + //门店审核时需要的图片,请看“重要参数说明” "\"audit_images\":\"E-Q6JqGrR3SqxxQA58uasgAAACMAAQED,E-Q6JqGrR3SqxxQA58uasgAAACMAAQED,E-Q6JqGrR3SqxxQA58uasgAAACMAAQED\"," + //经度,请看“重要参数说明” "\"longitude\":120.125448," + //纬度,请看“重要参数说明” "\"latitude\":\"30.272921\"," + //门店电话号码;支持座机和手机,只支持数字和+-号,在客户端对用户展现, 支持多个电话, 以英文逗号分隔。 "\"contact_number\":\"13612344321,0571-88158090\"," + //门店首图,非常重要,推荐尺寸2000*1500。 "\"main_image\":\"E-Q6JqGrR3SqxxQA58uasgAAACMAAQED\"," + //门店营业执照图片,填上传照片门店照片接口返回的"image_id"值,根据类目id所属类目选择是否需要。 "\"licence\":\"E-Q6JqGrR3SqxxQA58uasgAAACMAAQED\"," + //门店营业执照编号,根据类目id所属类目选择是否需要。 "\"licence_code\":\"H001232\"," + //门店营业执照名称,根据类目id所属类目选择是否需要。 "\"licence_name\":\"杭州川菜\"," + //营业执照过期时间。格式:2020-10-20。严格按照格式填写。根据类目id所属类目选择是否需要。 "\"licence_expires\":\"2020-10-20\"," + //许可证图片,填上传照片门店照片接口返回的"image_id"值,根据类目id所属类目选择是否需要。 "\"business_certificate\":\"E-Q6JqGrR3SqxxQA58uasgAAACMAAQED\"," + //许可证有效期,格式:2020-03-20。严格按照格式填写。根据类目id所属类目选择是否需要。 "\"business_certificate_expires\":\"2020-10-20\"," + //ISV返佣id,请看“重要参数说明” "\"isv_uid\":\"2088102175******\"," + //请求流水号,支持英文字母和数字,由开发者自行定义(不允许重复) "\"request_id\":\"20170217******\"," + //门店审核状态更变异步通知地址,审核后会发发异步通知到该地址,请填外网能够访问的异步通知接收地址。 "\"operate_notify_url\":\" https://www.baidu.com\"," + //店铺接口业务版本号,请统一传入2.0。 "\"biz_version\":\"2.0\"" + "}"); //初始化返回对象实例并获取返回信息 AlipayOfflineMarketShopCreateResponse response = alipayClient.execute(request); //输出返回信息,开发者自行处理,此处打印实例为方便调试查看 if (response.isSuccess()) {System.out.println("调用成功:" + response.getBody()); } else {System.out.println("调用失败:" + response.getBody());}
返回信息如下:
调用成功:{ "alipay_offline_market_shop_create_response": { "code": "10000", "msg": "Success", "audit_status": "AUDITING", "apply_id": "2017021700107000000000******" }, "sign": "******" }
public class TestKBKD { //初始化实例请求对象 public static String APP_ID = "请填应用的APPID"; public static String APP_PRIVATE_KEY = "请填PKCS8格式的应用私钥"; public static String ALIPAY_PUBLIC_KEY = "请填支付宝公钥"; public static AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipaydev.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", "GBK",ALIPAY_PUBLIC_KEY,"RSA2"); public static void main(String[] args) { // TODO 运行main函数 // ImageUpload();//上传门店照片 // ShopCreate();//门店创建 } public static void ImageUpload() {// TODO 上传门店照片接口(alipay.offline.material.image.upload) try { //初始化请求对象实例 AlipayOfflineMaterialImageUploadRequest request = new AlipayOfflineMaterialImageUploadRequest(); //图片格式 request.setImageType("jpg"); //图片名称 request.setImageName("门店照片"); //图片所在路径 FileItem imgContent = new FileItem("C:/Downloads/测试图片.jpg"); request.setImageContent(imgContent); //初始化返回对象实例并获取返回信息 AlipayOfflineMaterialImageUploadResponse response = alipayClient.execute(request); //输出返回信息,开发者自行处理,此处打印实例为方便调试查看 if (response.isSuccess()) { System.out.println("调用成功:" + response.getBody()); } else { System.out.println("调用失败:" + response.getBody()); } } catch (AlipayApiException e) { System.out.println(e.getMessage()); e.printStackTrace(); } } public static void ShopCreate() {// TODO 创建门店信息接口(alipay.offline.market.shop.create) try { //初始化请求对象实例 AlipayOfflineMarketShopCreateRequest request = new AlipayOfflineMarketShopCreateRequest(); //配置创建门店所需的业务参数 request.setBizContent("{" + //外部门店编号,最长32位字符,确保其唯一性。 "\"store_id\":\"hzccjd01\"," + //类目id,请看“重要参数说明” "\"category_id\":\"2015050700000010\"," + //主门店名,主店名长度不能超过20个字符。 "\"main_shop_name\":\"杭州川菜酒店\"," + //分店名称,与主门店名合并在客户端显示为:杭州川菜酒店(西湖店)。 "\"branch_shop_name\":\"西湖店ISV仅供测试\"," + //省份编码,请看“重要参数说明” "\"province_code\":\"330000\"," + //城市编码,请看“重要参数说明” "\"city_code\":\"330100\"," + //区县编码,请看“重要参数说明” "\"district_code\":\"330106\"," + //门店详细地址,规范格式填写地址,例1:道路+门牌号,“人民东路18号”;例2:道路+门牌号+标志性建筑+楼层,“四川北路1552号欢乐广场1楼”。 "\"address\":\"万塘路18号黄龙时代广场1楼\"," + //门店审核时需要的图片,请看“重要参数说明” "\"audit_images\":\"E-Q6JqGrR3SqxxQA58uasgAAACMAAQED,E-Q6JqGrR3SqxxQA58uasgAAACMAAQED,E-Q6JqGrR3SqxxQA58uasgAAACMAAQED\"," + //经度,请看“重要参数说明” "\"longitude\":120.125448," + //纬度,请看“重要参数说明” "\"latitude\":\"30.272921\"," + //门店电话号码;支持座机和手机,只支持数字和+-号,在客户端对用户展现, 支持多个电话, 以英文逗号分隔。 "\"contact_number\":\"13612344321,0571-88158090\"," + //门店首图,非常重要,推荐尺寸2000*1500。 "\"main_image\":\"E-Q6JqGrR3SqxxQA58uasgAAACMAAQED\"," + //门店营业执照图片,填上传照片门店照片接口返回的"image_id"值,根据类目id所属类目选择是否需要。 "\"licence\":\"E-Q6JqGrR3SqxxQA58uasgAAACMAAQED\"," + //门店营业执照编号,根据类目id所属类目选择是否需要。 "\"licence_code\":\"H001232\"," + //门店营业执照名称,根据类目id所属类目选择是否需要。 "\"licence_name\":\"杭州川菜\"," + //营业执照过期时间。格式:2020-10-20。严格按照格式填写。根据类目id所属类目选择是否需要。 "\"licence_expires\":\"2020-10-20\"," + //许可证图片,填上传照片门店照片接口返回的"image_id"值,根据类目id所属类目选择是否需要。 "\"business_certificate\":\"E-Q6JqGrR3SqxxQA58uasgAAACMAAQED\"," + //许可证有效期,格式:2020-03-20。严格按照格式填写。根据类目id所属类目选择是否需要。 "\"business_certificate_expires\":\"2020-10-20\"," + //ISV返佣id,请看“重要参数说明” "\"isv_uid\":\"2088102175******\"," + //请求流水号,支持英文字母和数字,由开发者自行定义(不允许重复) "\"request_id\":\"20170224*******\"," + //门店审核状态更变异步通知地址,审核后会发发异步通知到该地址,请填外网能够访问的异步通知接收地址。 "\"operate_notify_url\":\" https://www.baidu.com \"," + //店铺接口业务版本号,请统一传入2.0。 "\"biz_version\":\"2.0\"" + "}"); //初始化返回对象实例并获取返回信息 AlipayOfflineMarketShopCreateResponse response = alipayClient.execute(request); //输出返回信息,开发者自行处理,此处打印实例为方便调试查看 if (response.isSuccess()) { System.out.println("调用成功:" + response.getBody()); } else { System.out.println("调用失败:" + response.getBody()); } } catch (AlipayApiException e) { System.out.println(e.getMessage()); e.printStackTrace(); } } }
1)口碑开店审核时间一个工作日。
2)申请添加测试门店白名单,时间为1-5个工作。(可在创建门店前先申请)。
1)对于ISV创建的测试门店,任何支付宝账号均可通过扫描测试门店的门店码进入店铺(门店码可以在成功创建测试门店后通过登录商家中心(e.alipay.com)-我的门店处获取),查看门店详情;
2)如需 从支付宝APP-口碑TAB 搜索测试门店,仍然需要添加 消费者端 白名单,将需要测试的支付宝账号PID发邮件至 lengdan.ld@alibaba-inc.com 添加。
如果不知道怎么获取PID?可以采用以下方法:
1)使用《用户信息授权》接口获取支付宝用户ID(USER_ID)。
2)可以登录www.alipay.com,然后F12查看网页源代码,Ctrl+F搜索字段“uid”,后面那串“2088***”的就是PID(也是useId)