uniapp SDK指南
sdk图片介绍
uniapp 示例代码页面




下载uniapp前端代码示例
代码使用教程
支付方法调用
在文章或者商品页,携带需要的参数跳转到支付页面
javascript
toPay(){
let data = {
post_id: this.id, // 业务id
title: this.title, // 业务的标题或名称
money: this.money // 要支付的金额
}
uni.navigateTo({
url: "/pages/pay/pay?obj="+ JSON.stringify(data)
})
}
sdk内部已有代码
创建订单接口部分信息
javascript
uni.request({
url: baseUrl + '/ipaybuy_api/pay',
method: "POST",
data: {
pay_type: selectedPayMethod.value,
title: detailData.value.title,
money: detailData.value.money,
post_id: detailData.value.post_id, // 必填
device_id: uni.getSystemInfoSync().deviceId, // 必填,如果你没有用户系统,则需要根据用户当前的设备id+文章id查询支付状态
openid: "", // 小程序获取
userid: null, // 自有用户管理
},
success: (res) => {
orderInfo.value = res.data.data
console.log("orderInfo.value",orderInfo.value);
if(res.data.success){
showQrcodeModal.value = true
// 获取订单的付款二维码
getQrcode(orderInfo.value.trade_no)
} else {
uni.showToast({
title: '订单创建失败'+res.data.msg,
icon: 'none'
})
}
},
fail: (err) => {
console.error('创建订单失败:', err)
uni.showToast({
title: '订单创建失败',
icon: 'none'
})
},
complete: () => {
isSponsoring.value = false
isRequesting.value = false
}
})
获取订单支付二维码
javascript
const getQrcode = (orderId) => {
uni.request({
url: baseUrl + '/ipaybuy_api/order_qrcode',
method: "POST",
data: {
order_id: orderId
},
success: (res) => {
console.log("订单二维码:",res.data.data.qrcode_data);
if(res.data.success){
qrcodeData.value = res.data.data.qrcode_data
// 开始倒计时
startCountdown()
// 定时获取支付结果
timer.value = setInterval(() => {
getOrdersPayStatus()
}, 5000);
} else {
uni.showToast({
title: '二维码获取失败',
icon: 'none'
})
}
},
fail: (err) => {
console.error('获取二维码失败:', err)
uni.showToast({
title: '二维码获取失败',
icon: 'none'
})
},
complete: () => {
isRefreshing.value = false
}
})
}
查询订单状态
javascript
const getOrdersPayStatus = () =>{
if(orderInfo.value.trade_no){
wx.hideLoading();
uni.request({
url: baseUrl + '/ipaybuy_api/pay_record',
method: "GET",
data: {
out_trade_no: orderInfo.value.trade_no, // 若有必填
post_id: detailData.value.post_id, // 必填
device_id: uni.getSystemInfoSync().deviceId, // 必填
userid: "", // 如有用户系统则填写
openid: "", // 小程序可选填
},
success: (res) => {
wx.hideLoading();
console.log("支付结果:",res.data);
if(res.data.success && res.data.msg == '支付成功'){
// 支付成功,停止倒计时和定时器
stopCountdown()
if (timer.value) {
clearInterval(timer.value)
timer.value = null
}
// 显示支付成功状态
paySuccess.value = true
}
if(res.data.msg == "支付超时" && timer.value){
clearInterval(timer.value);
timer.value = null;
stopCountdown()
closeQrcodeModal()
}
isRefreshing.value = false
}
})
}
}
iPayBuy