阿卢说他遇
阿卢说他遇
  • 发布:2019-04-08 17:38
  • 更新:2019-04-08 17:47
  • 阅读:1032

配置文件中 payment/scheme 的关键字会引发 URL Scheme 调用效果?

分类:5+ SDK

详细问题描述

近日我司被发蚂蚁金服集团发律师函,因为 iOS 应用中被疑在 URL Scheme 的技术协议中,使用了“支付宝”APP唤醒策略一致的字样,导致“美团”等第三方应用的支付宝支付会被引导跳转到我司应用中,经我司技术人员检查结果如下:

一、代码排查

根据官方示例,URL Scheme 协议在 manifest 文件中起作用的 key 为 urltypes ,以下为实际项目代码,可以看到并无支付宝相关字样:
"apple": {
"appid": "",/iOS应用标识,苹果开发网站申请的appid,如io.dcloud.HelloH5/
"mobileprovision": "",/iOS应用打包配置文件/
"password": "",/iOS应用打包个人证书导入密码/
"p12": "",/iOS应用打包个人证书,打包配置文件关联的个人证书/
"devices": "universal",/iOS应用支持的设备类型,可取值iphone/ipad/universal/
"frameworks": [],
"urltypes": [
{
"urlidentifier": "io.dcloud.shopbest",
"urlschemes": [
"H5631BA51"
]
},
/ 测试 / {
"urlidentifier": "io.dcloud.HBuilder",
"urlschemes": [
"HBuilder"
]
}
],
"plistcmds": [
"Set :NSCameraUsageDescription 拍照/摄像/扫描二维码",
"Set :NSMicrophoneUsageDescription 录制音频文件/语音识别",
"Set :NSPhotoLibraryUsageDescription 选择/保存图片",
"Set :NSLocationWhenInUseUsageDescription 获取位置信息"
]
}

实际出现支付宝字样的项目代码位置:
"payment": {
"alipay": {
"scheme": "alipay",
"description": "支付宝支付"
}
}

此位置根据官方文档说明的作用如下:
"payment": {
"alipay": {
"scheme": "必选,iOS平台调用支付宝的“快捷支付”应用返回时用到的标识",
"description": "可选,阿里支付"
}
}

二、我司技术人员想重现这一过程,但使用同样安装了我司应用的苹果/安卓手机,在通过美团应用下单选择支付宝支付,并无此现象出现,怀疑只是部分手机会出现,但难以排查具体原因,现已先将相关字样去除并重新发布。

联系方式

[QQ]1269709977

2019-04-08 17:38 负责人:无 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

此问题是支付宝模块中配置的scheme不对导致的:

"payment": {  
"alipay": {  
"scheme": "alipay",  
"description": "支付宝支付"  
}  
}

上面scheme应该填写应用自己的scheme(如“H5631BA51pay”),不应该改填写“alipay”(此scheme是支付宝注册的)

  • 阿卢说他遇 (作者)

    按照文档所述,如果我没理解错,payment 中填写的内容,是在我的应用中进行支付时,才会生效,即使我填错,也应当是在我的应用中使用支付宝支付时会出错,而不是别人的应用调用支付宝支付时会出现 URL Scheme 协议的效果?按照文档缩写,要使用 URL Scheme,是在 urltypes/urlschemes 中进行定义,而非 payment 之中,难道payment 中 scheme 这个字段可以实现在别的应用调用我的应用进行支付 ?

    2019-04-08 17:55

  • DCloud_App_Array

    回复 阿卢说他遇:上面的scheme是告诉支付宝支付完成后返回应用的scheme,应用的scheme注册是全局的(应用安装时向系统注册,并不是使用支付功能是才注册),如果两个应用同时注册相同的scheme则会后安装的覆盖先安装的应用。

    2019-04-08 17:59

  • 阿卢说他遇 (作者)

    回复 DCloud_App_Array: 就是说 payment 中填写的 scheme 也会作为本应用的 url scheme 进行全局注册 ?

    2019-04-08 18:03

  • DCloud_App_Array

    回复 阿卢说他遇:对

    2019-04-08 20:09

该问题目前已经被锁定, 无法添加新回复