let applePayMethods = { data() { return { iap: {}, } }, onShow() { if (uni.getStorageSync('applePayParam')) { uni.showLoading({ mask:true, message:'验证交易信息中...' }) this.verifyPayment() } }, onLoad() { this.getChannels() }, methods: { getChannels() { plus.payment.getChannels((channels) => { for (var i in channels) { var channel = channels[i]; if (channel.id === 'appleiap') { this.iap = channel return } } }, function(e) { uni.showModal({ content: "获取iap支付通道失败:" + e.message }) }); }, applePay(productid, OrderNum, opType) { uni.showLoading({ mask:true, message:'请求中...' }) this.iap.requestOrder([productid], (e) => { plus.payment.request(this.iap, { productid, quantity: 1, username: this.vuex_user.id+'|'+productid+'|'+(new Date().valueOf()), manualFinishTransaction: true, }, (result) => { let applePayParam = { OrderNum, receiptData: result.transactionReceipt, transactionID: result.transactionIdentifier, type: 'test', opType, //1、广告推广 2、开通vip 3、发布企业信息 } uni.setStorageSync('applePayParam',applePayParam) uni.setStorageSync('finishTransaction',result) this.verifyPayment() }, (e) => { console.log('err', e) uni.showModal({ content:'取消交易' }) uni.removeStorageSync('applePayParam') uni.removeStorageSync('finishTransaction') uni.hideLoading() }); }, function(e) { console.log('err', e) uni.showModal({ content:'取消交易' }) uni.hideLoading() }); }, verifyPayment(){ console.log(uni.getStorageSync('applePayParam'),'verifyPayment->applePayParam'); this.$u.api.applePay(uni.getStorageSync('applePayParam')).then(res => { this.iap.finishTransaction(uni.getStorageSync('finishTransaction'), () => { uni.hideLoading() uni.removeStorageSync('applePayParam') this.$u.toast('支付成功!') }, (e) => { uni.hideLoading() uni.showModal({ content: '关闭订单交易失败:' + JSON.stringify(e) }) }) }) } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律