uniapp支付orderInfo格式
时间: 2025-01-29 21:10:16 浏览: 65
### uniapp 中支付时 `orderInfo` 的正确格式
在 uniapp 开发环境中,当使用支付宝或微信支付时,`orderInfo` 参数对于不同支付方式有不同的结构。具体到支付宝支付场景下,`tradeNO` 是一个重要的组成部分。
针对支付宝支付,在构建 `orderInfo` 字符串时应遵循特定的字段组合规则[^1]:
- **商户订单号 (`out_trade_no`)**
- **总金额 (`total_amount`)**
- **商品名称 (`subject`)**
- **销售产品码 (`product_code`)**
这些信息通常由服务器端生成并签名返回给客户端应用。下面是一个完整的 `orderInfo` 构建实例用于支付宝支付:
```javascript
const orderInfo = {
"partner": "2088xxxxxxxxxx", // 合作者身份ID
"seller_id": "2088xxxxxxxxxx",// 卖家支付宝账号
"out_trade_no": "your_unique_order_number_123456789",
"subject": "Test Product Name",
"body": "This is a test product description.",
"total_fee": "0.01", // 总金额,单位元
"notify_url": "http://www.example.com/notify",
"service": "mobile.securitypay.pay",
"payment_type": "1",
"charset": "utf-8",
"it_b_pay": "30m",
"sign_type": "RSA2",
"timestamp": new Date().toISOString(),
};
let signedOrderString = ""; // 这里应该是经过加密处理后的字符串形式
```
而对于微信支付,则不需要手动构造如此复杂的对象,而是直接传递来自服务端准备好的预支付交易会话标识即可[^2]:
```javascript
uni.requestPayment({
provider: 'wxpay',
orderInfo: '{prepay_id=xxx}', // 来自于后端接口响应的数据
success: function (res) {
console.log('success:' + JSON.stringify(res));
},
fail: function (err) {
console.log('fail:' + JSON.stringify(err));
}
});
```
需要注意的是,实际开发过程中 `orderInfo` 应该通过安全的方式从后台获取,并且确保其已经过适当的安全措施进行了保护和验证。
阅读全文
相关推荐


















