uniapp实现苹果支付流程

news/2024/11/30 7:42:10/

uniapp 苹果支付流程

1.配置文件中勾中Apple应用内支付

2.调用 plus.payment.getChannels 来获取支付通道

iphonepay() {const that = thisuni.showLoading({title: '检测支付环境...',mask: true})plus.payment.getChannels((channels) => {for (var i in channels) {// 判断是否苹果支付if (channels[i].id === 'appleiap') {that.iapChannel = channels[i]that.requestOrder()}}})}

3.调用 上一步拿到对象的requestOrder方法 该方法需要传入三个参数 requestOrder(‘苹果内购商品id’,成功回调,失败回调) 拿到订单数据 拿到订单数据的商品id

requestOrder() {const that = this// ['xxxxx'] 是平台申请拿到的内购商品的id that.iapChannel.requestOrder(['xxxxxx''xxxxxx'], function(event) {uni.hideLoading()console.log(event)for (var index in event) {var OrderItem = event[index]console.log(OrderItem)that.topay(OrderItem.productid)}
}, function(erroemsg) {uni.hideLoading()uni.showToast({title: "获取支付通道失败:" + errormsg.message,icon: 'none'})})}

4.最后调用uni.requestPayment 拿到后端接口需要的交易id 校验体

  • 使用uni.requestPayment时需要传入的orderInfo 是Object对象类型
         topay(id) {const that = thisuni.showLoading({title: '充值中请勿离开',mask: true})uni.requestPayment({provider: 'appleiap',orderInfo: {productid: id},success: (res => {uni.hideLoading()const orderId = this.orderId //这个订单id 是由后端返回的const transactionId = res.transactionIdentifier //交易idconst payload = res.transactionReceipt //校验体upayfor({transactionId,payload,orderId}).then(res => {console.log(res)uni.showToast({title: '充值成功'})that.getUserInfo()})}),fail: (e) => {uni.hideLoading()uni.showModal({content: "支付失败",showCancel: false})}
})

官方文档 https://uniapp.dcloud.io/api/plugins/payment?id=orderinfo

第一次开发这个功能,有地方还理解不够,记录一下。整个过程中有遇到-100的问题 卡了半天 结果是沙盒测试申请的东西没有补充完整

感谢原文博主 :https://blog.csdn.net/wangwangli6/article/details/104892562/


http://www.ppmy.cn/news/338867.html

相关文章

uniapp使用苹果支付

1、mainfest的payment支付(apple应用内支付需要打钩) 2、苹果后台开发者https://developer.apple.com/account/resources/certificates/list 需要把打包的配置文件勾上苹果支付,有一个是订阅,一个是支付,别勾错了。 3、…

安卓开发基础知识2(荣耀6Plus后置摄像头技术难度分析)

需求说明:安卓开发 内容 :双摄像头安卓手机调研 来自 :时间的诗 原文:http://tieba.baidu.com/p/3489953328# 说到手机的镜头,人们并不陌生,过去手机往往都采用单镜头模式,而随着科…

iOS 苹果授权登录(Sign in with Apple)/Apple登录/苹果登录集成教程

链接 HBuilderX 自 2.4.7 版本开始支持 Sign in with Apple (苹果登录),苹果登录是 iOS13 新增加的功能,当你的应用使用了第三方登录比如微信登录,同时也需要集成苹果登录,否则提交AppStore审核会被拒绝。…

Apple苹果公司组织架构

Apple苹果公司组织架构 这种模式,自乔布斯回到苹果时,开始实施,一直保留到现在。 今天,苹果大学校长兼副总裁 Joel Podolny 在《哈佛商业评论》上发表了一篇题为《How Apple is Organized for Innovation》的文章,深…

iPhone历代产品,从3GS到7Plus详尽参数

iPhone 7 Plus iPhone 7 iPhone SE iPhone 6s Plus iPhone 6s iPhone 6 Plus iPhone 6 iPhone 5S iPhone 5C iPhone 5 iPhone 4S iPhone 4 iPhone 3GS 图片展示 机身高度 158.2 mm 138.3 mm 123.8 mm 158.2 mm 138.3 mm 158.1 mm 138…

苹果8参数_iPhone11 iPhone11Pro哪里买最便宜靠谱划算 2020双十一苹果手机购机攻略...

主要配置参数。 iPhone11系列机型配置参数 正品购买渠道。 哪里在保证正品的前提下,又能享受到这么划算的价格呢? Apple产品京东自营旗舰店: 正品保证价格便宜收货快(当日或次日达)还能享受京东和苹果官方的双重售后保…

设置苹果机参数

其中 【newCommandTimeout】是 查找某个页面的元素时,定位可能会时间超长。默认的命令间隔时间是60s,如果在60s内没有找到,就会自动退出 自己成功启动过的头部 # -*- coding: utf-8 -*- from time import sleepfrom appium import webdriverfrom seleniu…

樱桃键盘 Cherry 键盘 windows键 无效 没反应

FUNF9解锁,这是为了防止误触把几个键给锁定了。