1***@163.com
1***@163.com
  • 发布:2026-06-26 15:03
  • 更新:2026-06-26 15:03
  • 阅读:8

【报Bug】uni.requestPayment(appleiap) 返回 Payment_appleiap:订单的ID不存在(requestProduct 正常)

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 11 家庭版 中文版 25H2

HBuilderX类型: 正式

HBuilderX版本号: 5.07

手机系统: iOS

手机系统版本号: iOS 26

手机厂商: 苹果

手机机型: iPhone 12 Pro Max 海蓝色 128GB

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

复现步骤

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不存在"  
}

实际结果:

返回:


    "code": -100,  
    "errMsg": "requestPayment:fail Payment_appleiap:订单的ID不存在,https://ask.dcloud.net.cn/article/282"  
}```  
没有弹出 Apple StoreKit 支付框。

bug描述:

下面这份是按照 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 内部错误;

怀疑是:

  1. HBuilderX 5.0.7 Apple IAP SDK 问题;
  2. 当前 iOS 系统兼容问题;
  3. uni.requestPayment 内部创建订单失败。

请官方协助确认是否为 SDK 问题。


2026-06-26 15:03 负责人:无 分享
已邀请:

要回复问题请先登录注册