最近使用uniapp生成的安卓APP对接第三方支付,遇到了些问题,记录一下
参考杉德支付给的《杉德新收银台uniapp原生差价说明》,文档写的不是很清晰明了,调试的时候让人很头大
h5调试杉德支付时,传入returnUrl,支付成功后,杉德会跳回我出入的returnUrl;
现在生成的APP,支付完成后,如何跳回呢,文档写的不是很清晰;经过查找资料,咨询APP开发同事的经验,得到如下结论,成功解决了问题
解决:生成一个空白的HTML5页面,放到returnUrl,杉德支付完成后,他们会自动关闭这个h5页面,然后达到了回到APP的效果,然后在回调函数里监听支付状态,如果成功,就去跳转到你想去的页面;
let curl = 'https://xxxx'; // h5页面
let params = {
returnUrl: curl,
}
this.$http
.get(`/xxxxx`, params, {
showLoading: false,
})
.then((res) => {
if (res.code) {
let order = JSON.parse(res.data)
sandepay.cashierPaySingle(order, (ret) => {
if (ret.resultCode == '0000') {
uni.showToast({
title: '支付成功',
icon: 'none',
mask: false,
duration: 2000,
})
uni.navigateTo({
url: '/xxxx'
})
} else if (ret.resultCode == '0002') {
uni.showToast({
title: ret.failReason,
icon: 'none',
mask: false,
duration: 2000,
})
}
})
}
})