支付宝小程序踩过的坑

1、获取用户手机号

支付宝对用户的隐私安全十分看重,正常的静默授权和用户明确授权,无法获取到用户手机号这类敏感信息。需要联系支付宝BD接口人(通常大客户才会有BD对接,小客户可以在开放平台进行申请),通过BD在支付宝内部提交“获取敏感字段信息”的申请。

手机号申请流程如下:

  • 开发者向BD提出申请,说明小程序APPID,获取手机号用途
  • 支付宝BD将APPID对应的小程序申请到自己名下
  • 然后支付宝BD去aboss申请敏感字段
  • 通常需要1-2天,申请通过后就可以拿到手机号码,代码不需要任何改动

2、进入小程序首页的跳转控制

小程序每次进入打一个承接页,如果需要根据业务类型、用户后台属性进行千人千面业务展示时,无法跳过“承接页”直接展示需要跳转的“业务展示页”,这样用户体验不好:小程序加载慢、过渡页面一闪而过体验不好

解决方法:

  • 按特殊规则生成小程序入口url: alipays://platformapi/startapp?appId=11111111111111111&page=/xxxxx/xxxxx/xxxx appid和page替换成自己的id和“业务展示页”
  • 这个链接可以生成二维码,放在线下扫码使用
  • 也可以直接-用这个链接,放在不同的业务场景,进入指定的“业务展示页”
  • 这样就实现了同一个小程序,根据业务场景不同,进入不同的“业务展示页”页面。

3、小程序外链跳转

支付宝为了维持小程序生态的健康,对小程序跳外部H5链接(外链)有很强的限制,但实际的业务场景,很多地方需要从小程序跳出到已有的H5业务场景。这里介绍几种用过的方法。

跳转方式一:webview单次跳转

不做任何设置,可支持支付宝端内、端外的任何链接

方法:直接通过webview跳转,页面内部的其他url链接不可点击再次跳转

跳转方式二:webview多次跳转

需要后台配置,对域名有数量限制,可支持支付宝端内、端外的任何链接

方法:小程序后台H5域名白名单设置(需要进行域名验证),然后通过webview跳转,页面内部的其他同域名下的url链接点击继续跳转,不同同域名下的url链接不可点击再次跳转

跳转方式三:startapp方式跳转

需要支付宝BD帮忙申请startapp权限(非内部项目,很难申请),可以跳转任意url链接

外链白名单申请方法:图片:小程序外链白名单申请.png

代码样例:
my.call('startApp', {
      // appId: '20***067',
      appId: '201809256***7369',
      param: {
        url:'https://shouting.samhotele.com/bj_bxl68/bxlDetail68.html?channel=chinamobile'
      },

4、H5跳转小程序

方法:通过pushwindow跳转到小程序

代码样例:
AlipayJSBridge.call('pushWindow', {
  url : 'alipays://platformapi/startapp?appId=2018031302***666&page=pages/index/index',
});

5、小程序页面埋点

进行事件分析前,需要先在“事件管理”中定义事件并配置上报、收集数据。事件分析所需要的信息在事件管理进行管理维护。https://docs.alipay.com/mini/data/ltwmii 小程序必须正视上架发布后才能使用埋点统计

在uniapp中,可以使用uniPay进行支付操作。如果你没有后端,可以尝试使用uniPay进行支付。你可以参考官方文档中的基本用法来了解如何使用uniPay进行支付操作。 然而,对于iOS平台上架App Store的应用,苹果要求所有开发者必须使用苹果内购支付来处理虚拟商品的购买,绝对不能使用其他支付方式,例如微信、支付宝等支付方面的SDK。如果你的应用中出现了虚拟商品购买,并且使用了其他支付方式的SDK或者代码,那么很可能无法通过苹果的审核。这是因为苹果对内购支付有严格的限制和要求。 如果你想在iOS平台上使用支付宝作为支付方式,你可以通过webview跳转的方式实现。这里有一个示例代码,你可以根据你的需求进行相应的调整。 总结起来,uniapp中可以使用uniPay进行支付操作,对于iOS平台上架App Store的应用,必须使用苹果内购支付,绝对不能使用其他支付方式的SDK或者代码。如果你想使用支付宝作为支付方式,在iOS平台可以通过webview跳转的方式实现。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【iOS内购支付】Uniapp拉起苹果内购支付注意事项、实现步骤以及过的(手把手教程)](https://blog.youkuaiyun.com/m0_46983722/article/details/129305869)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [uniApp APP跳转支付宝小程序,uniapp唤起支付小程序](https://blog.youkuaiyun.com/weixin_47756693/article/details/127754365)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值