更新记录

1.0.0(2024-02-25)

初始版本


平台兼容性

阿里云 腾讯云 支付宝云

云函数类插件通用教程

使用云函数类插件的前提是:使用HBuilderX 2.9+


得码 iOS订阅插件使用说明

本插件基于uni-pay2,需要与uni-pay2配合使用。

第一步:下载&配置uni-pay2 (已下载&配置uni-pay2则跳过此步骤)

请根据uni-pay2官方说明文档完成uni-pay2支付插件的下载和配置。

第二步:下载&配置得码iOS订阅插件

① 本页点击“下载插件并导入HBuilderX”按钮,选择要集成iOS订阅的项目导入插件。

② 打开uniCloud/cloudfunctions/common/uni-config-center/uni-pay/config.js文件,设置最底部节点appleiap > app下的password(共享密钥)。苹果开发者获取共享密钥的步骤如下:

1.登录苹果开发者后台,进入“用户和访问权限”页面。

2.在“用户与访问”页,点击“集成”,选择“共享密钥”。

3.点击“生成主共享密钥”按钮,可以生成主共享密钥。

4.主共享密钥可以作为所有App的统一密钥,而App专用共享密钥则是为单个App生成的。主共享密钥和App专用共享密钥任意选择生成一个就行。

要生成App专用共享密钥可进入“APP”,选择对应的App,进入“App信息”页,找到App 专用共享密钥 > 管理 > 生成即可。

==温馨提示:开发测试时请将sandbox(沙盒环境)设置为true,正式上线发布后请务必将sandbox设置为false。==

.......

"appleiap" :{
        // ios内购支付
        "app": {
            "password": “xxxxxx”, // App 专用共享密钥,App 专用共享密钥是用于接收此 App 自动续期订阅收据的唯一代码。如果您要将此 App 转让给其他开发者或不想公开主共享密钥,建议使用 App 专用共享密钥。非自动续订场景不需要此参数
            "timeout": 10000, // 请求超时时间,单位:毫秒
            "sandbox": true, // 是否是沙箱环境(本地调试ios走的是沙箱环境,故要设置为true,正式发布后,需要设置为false)
        }
}

③ 打开uniCloud/cloudfunctions/dema-ios-subscribe/notify/index.js文件,在方法 iosSubscribe中(第18行),编写自己的自动续订权限发放业务逻辑,如:会员续订权限发放等。

④ 上传部署uniCloud/cloudfunctions/common/uni-config-center和uniCloud/cloudfunctions/dema-ios-subscribe云对象(HBuilderX左侧项目管理器,找到uni-config-center和dema-ios-subscribe文件夹,右键 > 选择“上传公共模块”或“上传部署”)。

⑤设置订阅回调地址:

1.进入uniCloud服务空间,选择对应空间 > 云函数/云对象列表,找到dema-ios-subscribe云对象,进入右侧的“详情”页, 点击底部云函数URL化的 “编辑”按钮,输入/dema-ios-subscribe,点击“确定”保存URL。

2.登录苹果开发者后台,进入“APP”,选择对应的App,进入“App信息”页。

3.找到“生产环境服务器 URL”和“沙盒环境服务器 URL”,点击“编辑”,设置为:

https://fc-[服务空间ID].next.bspapp.com/dema-ios-subscribe/iosNotify

如:https://fc-mp-2b469111-fa7d-40b9-a3f9-deca3c0aedxa.next.bspapp.com/dema-ios-subscribe/iosNotify

4.选择通知版本为:版本1, 点击“存储”保存。

注意:请用自己的服务空间ID,服务空间ID可进入uniCloud服务空间,选择对应空间 > 总览页中的SpaceId,即为服务空间ID。

⑥ 创建订阅:

1.登录苹果开发者后台,进入“APP”,选择对应的App,进入“订阅”页。

2.按提示创建订阅群组。

3.进入创建的订阅群组,创建订阅产品。

⑦ 前端按uni-pay2官方说明文档iOS内购支付的方式集成支付即可,只是productid需要使用苹果开发者后台创建的订阅产品 ID。

⑧ 完成集成,创建沙盒测试账户:

登录苹果开发者后台,进入“沙盒” > “测试账户”页,添加测试账户即可。

后续可在沙盒模式下进行测试,查看订阅是否正确执行。如果正确执行,会调用 uniCloud/cloudfunctions/dema-ios-subscribe/notify/index.js文件中的iosSubscribe 回调方法,完成自动续订权限发放业务逻辑。还会在uniCloud服务空间订单表uni-pay-orders对应记录的custom字段下增加两个新字段:

subscribe_list 每次自动续订信息记录列表

subscribe_status 当前订阅状态:

INITIAL_BUY:首次购买

REFUND:退款

DID_RENEW: 自动续订

CANCEL: 取消订阅

DID_RECOVER:恢复订阅

INTERACTIVE_RENEWAL:应用界面或appstore手动续订

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问