uniapp使用苹果支付
1、mainfest的payment支付(apple应用内支付需要打钩)2、苹果后台开发者https://developer.apple.com/account/resources/certificates/list 需要把打包的配置文件勾上苹果支付,有一个是订阅,一个是支付,别勾错了。3、申请支付参数,https://appstoreconnect.apple.com/apps/16155049
1、mainfest的payment支付(apple应用内支付需要打钩)
2、苹果后台开发者https://developer.apple.com/account/resources/certificates/list 需要把打包的配置文件勾上苹果支付,有一个是订阅,一个是支付,别勾错了。
3、申请支付参数,https://appstoreconnect.apple.com/apps/1615504939/appstore/addons?m=
App 内购买项目添加支付的参数(这个参数需要先上一个版本的app后才能申请让他审核,要是有一个版本app在上面还没审核,打电话或者留个邮件给他叫他审核)
4、代码,需要先初始化
initIAP() {
uni.LTY.loaded()
plus.payment.getChannels((channels) => {
console.log(channels)
for (var i in channels) {
var channel = channels[i];
// 获取 id 为 'appleiap' 的 channel
if (channel.id == 'appleiap') {
console.log("苹果")
iap = channel;
uni.LTY.loaded()
// my_accurate_weather支付参数
iap.requestOrder(['my_accurate_weather_', 'my_accurate_weather_'], (
orderList) => {
//必须调用此方法才能进行 iap 支付
console.log('requestOrder success666: ' + JSON.stringify(orderList))
uni.LTY.loaded()
}, (e) => {
console.log('requestOrder failed: ' + JSON.stringify(e));
uni.LTY.loaded()
uni.LTY.toast('暂不支持苹果 iap 支付')
});
}
}
}, function(e) {
console.log("获取iap支付通道失败:" + e.message);
});
},
applePay(para) {
setTimeout(() => {
uni.LTY.loaded()
}, 2000)
uni.requestPayment({
provider: 'appleiap',
orderInfo: {
productid: para,
username: 'myaccurateweather' + this.$store.getters.me.id, // 用户标识
optimize: true // 设置 optimize: true 解决丢单问题
},
/*
orderInfo可传参数一览
productid: (String 类型 )(必填) 商品的标识,你在苹果那里添加的商品标识
username: (String 类型 )(可选) 购买用户名称,我喜欢在这里传入订单号,这样支付成功时就可以获得订单号
quantity: (String 类型 )(可选) 商品数量,默认为 "1"
optimize:(Boolean)(可选) HX 3.1.10 版本新增参数,解决用户未绑定支付方式造成的丢单问题;
*/
success: (e) => {
uni.LTY.loaded()
console.log(e)
//这里把参数返回服务器进行二次验证
//这里再次验证是否订单真实有效
uni.request({
url: 'https://www.example.com/request', //仅为示例,并非真实接口地址。
data: {
parasm: e,
},
success: (res) => {
uni.showModal({
content: "Success",
showCancel: false,
})
try{
// 购买成功 更新用户vip时长
this.updateUserVip(para);
uni.navigateBack();
}catch(e){
//TODO handle the exception
}
},
});
},
fail: (e) => {
console.log(e)
uni.LTY.loaded()
uni.showModal({
content: "fail: " + e.errMsg,
showCancel: false,
})
},
complete: () => {
console.log("payment结束")
this.payShow = false;
this.payShow2 = false;
}
})
},
5、在https://appstoreconnect.apple.com/access/users
用户访问>沙盒测试员添加测试账号。在手机设置>App Store上登录沙盒账号。
不用你现在登录的手机苹果id账号,用另外一个邮箱就收邮件验证再登录,相当于是新建一个apple id账号。
6、沙箱能支付然后正式环境下也就能支付,沙箱环境支付没有真的扣费,放心。
7、我这个用的非续期订阅,有会用续期订阅的小伙伴吗?(续期订阅要是没写好,容易产生漏洞,上个月在酷我音乐开的会员,给他开一个月,然后取消订阅,然后又是新顾客,一块钱包月会员,开了三个月,就很nice。)
更多推荐
所有评论(0)