You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
1.8 KiB
77 lines
1.8 KiB
function wxpay (orderInfo) {
|
|
if(typeof orderInfo !== 'object') throw new Error('orderInfo must object type')
|
|
return new Promise((resolve, reject) => {
|
|
uni.requestPayment({
|
|
'provider': 'wxpay',
|
|
'orderInfo': {
|
|
'appid': orderInfo.appid,
|
|
'noncestr': orderInfo.noncestr,
|
|
'package': 'Sign=WXPay',
|
|
'partnerid': orderInfo.partnerid,
|
|
'prepayid': orderInfo.prepayid,
|
|
'timestamp': orderInfo.timestamp,
|
|
'sign': orderInfo.sign
|
|
},
|
|
success(res) {
|
|
setTimeout(resolve(res), 500)
|
|
},
|
|
fail(e) {
|
|
reject(e)
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
function alipay(orderInfo) {
|
|
if(typeof orderInfo !== 'string') throw new Error('orderInfo must string type')
|
|
return new Promise((resolve, reject) => {
|
|
uni.requestPayment({
|
|
provider: 'alipay',
|
|
orderInfo,
|
|
success: function (res) {
|
|
setTimeout(resolve(res), 500)
|
|
},
|
|
fail: function (err) {
|
|
reject(err)
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
function wxmini(orderInfo) {
|
|
if(typeof orderInfo !== 'object') throw new Error('orderInfo must object type')
|
|
return new Promise((resolve, reject) => {
|
|
uni.requestPayment({
|
|
provider: 'wxpay',
|
|
timeStamp: String(Date.now()),
|
|
nonceStr: orderInfo.nonceStr,
|
|
package: orderInfo.package,
|
|
signType: 'MD5',
|
|
paySign: orderInfo.paySign,
|
|
success: function (res) {
|
|
setTimeout(resolve(res), 500)
|
|
},
|
|
fail: function (err) {
|
|
reject(err)
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
function paymentAuto(orderInfo, type) {
|
|
// #ifdef APP-PLUS
|
|
if(type == 'wxpay') return wxpay(orderInfo)
|
|
if(type == 'alipay') return alipay(orderInfo)
|
|
// #endif
|
|
|
|
// #ifdef MP-WEIXIN
|
|
return wxmini(orderInfo)
|
|
// #endif
|
|
}
|
|
|
|
export {
|
|
paymentAuto as default,
|
|
wxpay,
|
|
wxmini,
|
|
alipay
|
|
}
|