EASYAIuniappNewUI/src/composables/usePayment.ts
2025-02-08 18:50:38 +08:00

43 lines
1.2 KiB
TypeScript

import type {IProduct} from "@/types";
import {creatOrder, getLoginInfo, getPrePay} from "@/composables/useCommon.ts";
import {IPayChannel} from "@/types";
export const usePayHandlePayment=async (product:IProduct) => {
// 创建订单
const user = getLoginInfo()
if(!user){
throw new Error('未登录不允许支付')
}
const order =await creatOrder({
user_id:user._id,
product_id:product._id,
amount:{
total:product.amount,
currency:'CNY'
},
payer:{
openid:getLoginInfo().wx_openid_mp as string
},
order_channel:IPayChannel.MP_WEIXIN
})
const {nonceStr,package:_,signType,paySign,timeStamp} =await getPrePay(order._id)
console.log("paySign",paySign)
//调起支付
console.log("created order",order)
uni.requestPayment({
provider:'wxpay',
orderInfo:order.product_id.name,
timeStamp,
nonceStr,
package:_,
signType,
paySign,
success:function (res) {
console.log('success', res)
},
fail:function (err) {
console.log('fail', err)
}
})
}