郑州商城网站开发一个H5端手机移动商城的时候,在支付宝支付的时候,遇到一大串字符提示:
支付失败:{"errMsg":"requestPayment:fail parameter error: parameter.timeStamp should be String instead of Undefined;parameter.nonceStr should be String instead of Undefined;parameter.package should be String instead of Undefined;parameter.signType should be String instead of Undefined;parameter.paySign should be String instead of Undefined;"}
代码明明已经写过了
uni.requestPayment({
provider: 'alipay',
orderInfo: self.orderinfo,
success: function (res) {
console.log('success:' + JSON.stringify(res));
},
fail: function (err) {
console.log('fail:' + JSON.stringify(err));
}
});
这个是前端代码,明明已经请求支付宝,不知道为啥老是失败。
最后解决方案,原来需要更改下
uni.getStorage({
key:'orderid',
success: (e) => {
this.orderid = e.data;
//开始支付
uni.request({
url:this.$url+'wxapi/Order/mobilezfbpay',
method: 'POST',
data: {//data里的key、value是开发者自定义的
from: '支付宝',
orderid:this.orderid
},
dataType: 'json',
success: function(res) {
console.log('success'+res)
// 将接口返回的Form表单显示到页面
document.querySelector('body').innerHTML = res.data;
// 调用submit方法
document.forms[0].submit()
},
fail: function(res) {
console.log('fail')
}
});
}
})
原来,需要在返回结果这里,把res.data返回给页面中的body,这样就可以跳转到支付宝页面了。