uni.requestPayment 报错701100
时间: 2025-06-06 16:16:18 浏览: 14
### 错误代码 701100 的原因及解决方案
在使用 `uni.requestPayment` 方法时,如果遇到错误代码 `701100`,通常表示支付参数的校验失败。这可能是由于以下原因之一导致的:
#### 1. 参数类型或格式不正确
确保传递给 `uni.requestPayment` 方法的所有参数(如 `timeStamp`、`nonceStr`、`package`、`signType` 和 `paySign`)均为字符串类型[^1]。如果这些参数中的任何一个未定义或类型不正确,都会导致支付失败并返回错误代码 `701100`。
```javascript
uni.requestPayment({
provider: 'wxpay',
timeStamp: '1634567890', // 确保为字符串类型
nonceStr: 'randomString', // 确保为字符串类型
package: 'prepay_id=yourPrepayId', // 确保为字符串类型
signType: 'MD5', // 确保为字符串类型
paySign: 'yourPaySign', // 确保为字符串类型
success(res) {
console.log('支付成功:', res);
},
fail(err) {
console.error('支付失败:', err);
}
});
```
#### 2. 配置文件中的 AppID 不一致
另一个常见原因是 `mainifest.json` 文件中配置的支付 `appid` 与生成订单时使用的 `appid` 不一致[^2]。即使已经确认 `appid` 填写正确,仍需检查以下几点:
- 确保 `mainifest.json` 文件中填写的 `appid` 是正确的。
- 如果使用 HBuilder 进行调试,请尝试在线打包以解决可能的配置问题。
#### 3. 支付环境差异
不同平台(如安卓和 iOS)在微信支付配置上可能存在差异[^2]。建议根据具体平台的要求调整支付参数,并确保测试环境中使用的证书和密钥与正式环境一致。
#### 4. 后端签名生成错误
错误代码 `701100` 还可能由后端生成的签名(`paySign`)不正确引起。需要验证后端是否按照正确的算法生成了签名,并确保所有参与签名的参数顺序和值均与前端传递的一致。
---
### 示例代码:完整的支付流程
以下是基于 `uni.requestPayment` 的完整支付流程示例:
```javascript
// 假设从后端获取到支付参数
const paymentParams = {
timeStamp: '1634567890',
nonceStr: 'randomString',
package: 'prepay_id=yourPrepayId',
signType: 'MD5',
paySign: 'yourPaySign'
};
uni.requestPayment({
provider: 'wxpay',
...paymentParams,
success(res) {
console.log('支付成功:', res);
},
fail(err) {
if (err.errMsg.includes('701100')) {
console.error('支付参数校验失败,请检查参数类型和格式');
} else {
console.error('支付失败:', err);
}
}
});
```
---
### 注意事项
- 确保所有参数均为字符串类型,避免因类型不匹配导致的错误。
- 检查 `mainifest.json` 中的 `appid` 是否与后端生成订单时使用的 `appid` 一致。
- 在开发和测试阶段,建议使用正式环境的证书和密钥,以避免因环境差异导致的问题。
---
阅读全文
相关推荐













