下面这份是按照 DCloud 官方建议的 「报 Bug」模板整理的。DCloud 官方明确表示,提供完整环境、最小复现代码、复现步骤和日志的 Bug 会优先处理。([DCloud问答][1])
你可以直接复制到 DCloud Ask 社区:
〖报Bug〗uni.requestPayment(appleiap) 返回 Payment_appleiap:订单的ID不存在(requestProduct 正常)
产品分类
- HBuilderX
- uni-app(Vue3)
- iOS
- Apple IAP
IDE运行环境
HBuilderX
5.0.7
uni-app
Vue3
App运行环境
设备:
iPhone
系统:
iOS 26.5(请官方确认是否支持当前系统)
运行方式:
自定义调试基座
Runtime
plus.runtime.version = 1.0.0
plus.runtime.innerVersion = 1.9.9.81653
Appid
__UNI__BFC4BB0
App Store Connect
商品类型:
Consumable
Product ID
Point1
商品状态
Ready to Submit
Sandbox
Sandbox Tester 登录
App 已上传 Build
是
manifest.json
支付配置:
"modules": {
"Payment": {}
},
"sdkConfigs": {
"payment": {
"appleiap": {}
}
}
复现步骤
-
uni.getProvider({
service:'payment'
})
返回正常。
-
provider.requestProduct(["Point1"])
返回正常。
日志:
[
{
"productid":"Point1",
"title":"1积分",
"description":"1积分",
"price":1
}
]
-
调用:
uni.requestPayment({
provider:'appleiap',
orderInfo:{
productid:'Point1',
quantity:1,
manualFinishTransaction:true
}
})
立即失败。
实际结果
返回:
{
"code": -100,
"errMsg": "requestPayment:fail Payment_appleiap:订单的ID不存在,https://ask.dcloud.net.cn/article/282"
}
没有弹出 Apple StoreKit 支付框。
预期结果
能够正常弹出苹果支付页面。
已排查内容
已确认:
- ✅ ProductId 正确(Point1)
- ✅ requestProduct 查询成功
- ✅ provider 为 appleiap
- ✅ serviceReady=true
- ✅ Sandbox Tester 已登录
- ✅ BundleId 一致
- ✅ Payment 模块已开启
- ✅ manifest.json 配置正确
- ✅ App 已上传 Build
- ✅ 官方文档写法调用
uni.requestPayment
- ✅
iapProductId 实际值为 "Point1"
尝试过:
- 去掉
sandbox
- 添加
sandbox:true
manualFinishTransaction=true
manualFinishTransaction=false
quantity=1
- 固定写
"Point1",不经过后端
- 重新查询
requestProduct
- 结果均一致。
补充信息
uni.getProvider
{
"providers":[
{
"id":"appleiap",
"serviceReady":true
}
]
}
requestProduct
[
{
"productid":"Point1",
"title":"1积分"
}
]
requestPayment
{
"code":-100,
"errMsg":"requestPayment:fail Payment_appleiap:订单的ID不存在"
}
疑问
由于:
requestProduct 已成功返回商品;
uni.requestPayment 在未弹出 StoreKit 前直接返回 Payment_appleiap:订单的ID不存在;
- 错误不是 Apple StoreKit 返回,而是
Payment_appleiap 内部错误;
怀疑是:
- HBuilderX 5.0.7 Apple IAP SDK 问题;
- 当前 iOS 系统兼容问题;
uni.requestPayment 内部创建订单失败。
请官方协助确认是否为 SDK 问题。
0 个回复