F.A.Q
1.什么是鉴权码(authcode)?
答:第三方通过authcode进行获取access_token的时候需要用到,code的超时时间为10分钟,一个authcode只能成功换取一次access_token即失效。code的临时性和一次保障了云城授权登录的安全性。第三方可通过使用https和state参数,进一步加强自身授权登录的安全性。
2.什么是access_token?
答:access_token为三方服务经过鉴权码获取,access_token跟服务和当前用户是进行绑定的,默认有效期为86400秒,过期后可通过refresh_token进行刷新。
3.三方服务端如何访问云城服务端?
答:请于自身服务端部署上线前,在自身Linux服务器下执行命令 curl -i https://api.icloudcity.com
确保自身服务端可以访问云城服务端。
4.三方服务如何保证正常发布到云城生产环境?
答:开发结束后请于云城app中自测服务功能是否完备。如想发布到云城app生产环境无法通过云城app测试相关验证将被拒绝发布。
5.三方服务中具有部分功能涉及到设备能力怎么办?
答:云城app现已提供部分设备能力可供三方服务调用,详细请参考云城平台能力,如云城平台能力中暂未支持所需能力,请预先与云城app对接人沟通以获取平台支持,保证服务功能的完善性。
6.什么是设备能力?
答:设备能力是指安装云城app的移动设备所具有的能力,如:调用GPS获取定位、调用设备摄像头扫描识别二维码等。
7.h5子服务如何判断自身运行于云城app中?
答:云城app在自身的webview中对userAgent进行了修改,添加了自身标识"gardener"。h5子服务开发人员可以通过检测navigator.userAgent
知晓自身是否运行于云城app中。如:
console.log(navigator.userAgent)
// Mozilla/5.0 (Linux; Android 6.0.1; OPPO R9s Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36 gardener
8.iOS端h5子服务中调用微信h5支付后如何回跳至云城app中?
答:因微信h5支付在iOS端app的webview中调用支付后的回调页面会自动打开iOS端浏览器加载回调页面,无法自动回到app中,因此采用透传发起支付平台信息的方式,通过回调页面检测透传平台参数决定是否跳转app的scheme回到app。具体解决方案如下:
方案一:前端借由微信h5支付redirect_url传参实现跳转
确定h5页面运行于云城app中: 云城app通过自定义webview的userAgent的方式为其添加了可识别的标识“gardener”,通过在h5页面中调用
/gardener/.test(navigator.userAgent)
可知道h5页面是否运行于云城app中。发起微信h5支付时可通过 redirect_url 携带参数: 此处可通过判断h5在云城中发起了支付,则在redirect_url后携带一个云城的标识符即可。
回调页面中判断url是否携带参数,如果携带着步骤2中所定义的云城的标识符,则可以通过调用
location.href = "cloudcitydis://"
跳转云城的scheme 回到云城app中。注意:由于设置redirect_url后(根据微信官方文档描述设置redirect_url后,需对redirect_url进行urlencode处理 ),回跳指定页面的操作可能发生在:1,微信支付中间页调起微信收银台后超过5秒 2,用户点击“取消支付“或支付完成后点“完成”按钮。因此无法保证页面回跳时,支付流程已结束,所以商户设置的redirect_url地址不能自动执行查单操作,应让用户去点击按钮触发查单操作。回跳页面展示效果可参考下图
方案二: 借由微信下单接口附加数据字段传参实现跳转
确定h5页面运行于云城app中:云城app通过自定义webview的userAgent的方式为其添加了可识别的标识”gardener”,通过在h5页面中调用
/gardener/.test(navigator.userAgent)
可知道h5页面是否运行于云城app中。调用下单接口时可以在附加数据字段attach中携带云城app标识,attach字段详细描述见微信官方文档
支付完成后的查询和通知可检测附加数据字段attach是否携带云城app标识,如果携带则让iOS客户端调用
location.href = "cloudcitydis://"
跳转云城的scheme 回到云城app中。
联系方式
如有其他疑问请联系我们的技术支持,可采用邮件方式、或使用云城app扫描下方云城群聊二维码进入活泼、开放、热情、严谨的【云城技术支持】群进行实时沟通。 邮件请发送至下方邮箱,群聊使用云城app扫描下方二维码加入群聊。
邮箱
support@icloudcity.com