uniapp 接通苹果支付

IAP介绍

IAP支付全称In-App purchase,是指苹果App Store的应用内购买,是苹果为App内购买虚拟商品或服务提供的一套交易系统。

IAP参考连接

参考别人的App Store Connect配置信息:https://blog.csdn.net/dt1991524/article/details/89711741

开发前置工作

1. 苹果开发中心相关配置

注册苹果开发者账号,付费的

2. APP证书和描述文件等

这时候推荐一个Identifiers打两个Certificates,

一个是Certificate Type :iOS Development,这个用于测试,方便直接使用打包到自定义基座测试支付的。

一个是Certificate Type :iOS Distribution,用于发布app的。

同样描述文件也是两个。
在这里插入图片描述
有个关键,因为涉及到付费,且是虚拟产品,必须接入iap内购
在这里插入图片描述
创建Identifiers的时候下面这个是必选的

3. 认证协议(签订银行信息)

首先进入App Store Connect 点击 协议、税务和银行业务
在这里插入图片描述

填写基本的银行信息。然后再填写一些基本信息强制要求的填写,没强制的没必要写!!!)
在这里插入图片描述

提交等待24小时,成功,回到App信息就能看到成功的信息了

如果付费 App 协议没有配置生效,前端调用api接口调用会失败

4. 设定商品价格

App Connect 进入自己的APP,然后点击管理 (必须第一步的“认证协议”) 就能看到添加App 内购项目
在这里插入图片描述

注意:这里需要根据自己情况选择内购项目的类型
在这里插入图片描述

创建相应的信息即可,下图是你设置文本演示的对应支付时的展示位置
在这里插入图片描述

商品设定完成!前端可能需要这个产品ID,建议设置为 com.公司名.项目名.物品ID

如:com.hefeixunliao.zhenliao.12yuan

5. productId 上线设置

上述操作提交完成后,切记检查App内购项目的状态:元数据丢失的 内购项目可以进行沙箱测试,但上线不可用,上线使用必须是 准备提交状态

苹果说明
在这里插入图片描述

查看说明:https://help.apple.com/app-store-connect/#/dev1986a0e5c

真实配置

点击元数据丢失的内容
在这里插入图片描述

填写本地化内容,也就是充值的时候,显示的充值信息。以及此内购项目的在那里展示的,如 充值页面的截图。就可提交审核了。等待审核!

上线务必保障勾选 被苹果审核通过的内购项目!!!
在这里插入图片描述

配置完成后,你下个APP版本就拥有了 App内购项目了!

注册自己的沙箱账号

在这里插入图片描述

地图选择 中国大陆,否则会影响测试!电子邮箱不可与正规Apple 邮箱账号一致!

虚拟账号随便写一个就可以,如test@qq.com.
在这里插入图片描述

完成即可登录了。在APP内部测试的时候,会提示你是沙箱环境,建议使用沙箱账户!!!

真机登录沙盒账号

----老版本----

第一步:设置—》App Store----》滑到最下面:沙盒账户—》退出登录

第二步:然后去app上,再用新的沙盒账号登录,这样便切换过来了

第三步:重新登录的时候,输入账号密码,进入到【Apple ID安全页面】,选【其他选项】,选【不升级】
在这里插入图片描述
在这里插入图片描述
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/50cedd8fd2a647da8024c431cbc82b0c.png

----新版本----

设置—》划到最下面—》点击开发者—》划到最下面—》就是沙盒账号的登录和退出
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

苹果支付业务思维导图
在这里插入图片描述

uniapp模块

在这里插入图片描述

注意事项

1.内购必须用真机测试
2.测试时必须退出App Store自己的Apple ID,登录沙盒的测试Apple ID .
3.本身请求美国服务器就慢,为防止审核人员误解,我们需要在购买时加载动画。

### 如何在 UniApp接入苹果支付功能 #### 1. 前置准备 在正式开发之前,需要完成一系列前置准备工作以确保应用能够支持苹果支付功能。这些工作主要包括以下几个方面: - **Manifest 文件配置** 在 `manifest.json` 的权限管理部分,需勾选 Apple 应用内支付选项[^1]。具体路径为:`manifest -> app-plus -> permissions`,找到并启用 `Payment – Apple应用内支付`。 - **开发者账户设置** 登录到苹果开发者中心 https://developer.apple.com/account/resources/certificates/list ,确认已创建的应用 ID 已经启用了 In-App Purchase 功能,并下载对应的配置文件用于后续打包[^2]。 - **App Store Connect 设置** 进入 App Store Connect 平台 https://appstoreconnect.apple.com/,添加新的内购商品(In-App Purchases)。注意,在测试阶段可以无需提交审核即可使用沙盒环境进行调试;但在生产环境中,必须通过苹果官方的审核流程才能生效[^2]。 #### 2. 开发实现细节 以下是具体的开发步骤以及代码示例: ##### (1)初始化支付环境 为了调用苹果支付 API,首先需要引入必要的模块和方法来处理交易逻辑。可以通过 HBuilderX 提供的原生插件或第三方库简化操作过程。 ##### (2)获取产品信息列表 在发起实际购买前,通常会向服务器请求可用的产品清单数据。这部分可通过苹果提供的 StoreKit SDK 实现查询服务端返回的结果集。 ```javascript // 获取产品详情函数 function fetchProductDetails(productIds) { const productsRequest = new SKProductsRequest({ productIdentifiers: productIds }); productsRequest.delegate = { productsRequestDidReceiveResponse(request, response) { console.log('Available Products:', response.products); // 处理合法的商品对象数组 }, requestDidFailWithError(request, error) { console.error('Error fetching products:', error.localizedDescription); } }; productsRequest.start(); } ``` ##### (3)执行购买动作 当用户选择某项付费内容后,触发相应的购买事件并通过 StoreKit 发送验证票据给自己的后端服务器进一步校验真实性。 ```javascript async function purchaseProduct(productId) { try { await inAppPurchase.purchaseWithValidation(productId); // 调用封装好的工具类方法 uni.showToast({ title: '购买成功', icon: 'success' }); } catch (error) { console.warn(`Failed to complete transaction due to ${JSON.stringify(error)}`); uni.showToast({ title: '购买失败,请重试。', icon: 'none' }); } } ``` > 注解:以上伪代码片段仅作为参考框架展示用途,真实场景下可能还需要考虑更多边界条件比如网络异常中断等情况下的恢复机制设计等问题[^2]。 #### 3. 测试与上线注意事项 - 使用沙盒账号进行本地模拟测试时要注意每次只能绑定单一设备上的唯一身份认证凭证。 - 正式发布前务必再次仔细核查所有涉及金钱流动环节的安全防护措施是否到位。 - 如果存在自动续费型订阅业务模式,则额外关注退订提醒通知推送策略优化用户体验等方面的内容。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值