苹果内购支付报错误21003在uni-app中的解决方案
苹果内购支付报错误21003在uni-app中的解决方案
操作步骤:
- 使用苹果沙箱支付
预期结果:
- 校验通过
实际结果:
- 后台校验失败21003
bug描述:
- 在之前使用苹果内购服务一直都没有问题,今天使用苹果沙箱支付进行后台校验报了21003的错误,无法正确检验该凭证,苹果后台、前后端代码都没有任何的改动,突然就有问题了,回传回来的票据没有进行二次处理,直接上报苹果沙箱就会报错
| 项目属性 | 详细信息 |
|------------------|----------------|
| 产品分类 | uniapp/App |
| PC开发环境操作系统 | Windows |
| PC开发环境操作系统版本号 | window10专业版 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 3.8.12 |
| 手机系统 | iOS |
| 手机系统版本号 | iOS 16 |
| 手机厂商 | 苹果 |
| 手机机型 | iphoneX |
| 页面类型 | vue |
| vue版本 | vue2 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
更多关于苹果内购支付报错误21003在uni-app中的解决方案的实战教程也可以访问 https://www.itying.com/category-93-b0.html
6 回复
看下是不是生成了 共享密钥 但是内购的时候没有传密钥
更多关于苹果内购支付报错误21003在uni-app中的解决方案的实战教程也可以访问 https://www.itying.com/category-93-b0.html
是的,弄清楚了,我写成博客出来分享
有一点非常奇怪,我总共有4个档位,3个档位是消耗性的,1个档位是续费型的,我买消耗性的按道理是不需要密钥校验的,可是不加密钥直接报21003了,非常奇怪,难道是有一个档位是续费型的,所有档位都需要加上密钥校验吗
回复 JacksonTsai: 这个规则应该苹果今年更新了 以前只自动订阅的才需要共享密钥,现在应该是只要创建了共享密钥那么无论什么类型都要传
回复 DCloud_iOS_WZT: 可是我使用苹果原生代码去校验又不需要密钥了,您可以尝试一下,使用原生代码去写
回复 JacksonTsai: 服务端在与苹果服务器校验票据时 传这个共享密钥 跟你原生代码有啥关系呢