function payWithAlipay(orderInfo, orderNo, payTradeNo, tradeType, that) {
console.log(orderInfo, orderNo, payTradeNo, tradeType);
uni.requestPayment({
orderInfo: orderInfo,
provider: 'alipay',
success: res => {
console.log(res);
uni.hideLoading();
var rawdataStr = res.rawdata;
var rawdata = JSON.parse(rawdataStr);
var result = rawdata.result.split('};extendInfo=')[0];
result = JSON.parse(result);
var response = result.alipay_trade_app_pay_response;
if (typeof response === 'string') {
response = JSON.parse(response);
}
if (response.code === '10000') {
waitingReceipt(payTradeNo, orderNo, tradeType, that);
} else {
uni.showToast({
title: res.sub_msg,
icon: 'none',
mask: true
});
}
},
fail: err => {
console.log(err);
uni.showToast({
title: "支付失败",
icon: 'none',
mask: true
});
}
});
}

- 发布:2021-12-02 20:31
- 更新:2021-12-06 12:19
- 阅读:3440
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: Big Sur 11.2.2
HBuilderX类型: 正式
HBuilderX版本号: 3.2.16
手机系统: Android
手机系统版本号: Android 11
手机厂商: 小米
手机机型: Mi10 PRo
页面类型: vue
vue版本: vue2
打包方式: 离线
项目创建方式: HBuilderX
示例代码:
操作步骤:
使用正常的alipay_orderinfo调用方法,然后它会报错然后也可以跳转支付,但是无法进入success方法。
使用正常的alipay_orderinfo调用方法,然后它会报错然后也可以跳转支付,但是无法进入success方法。
预期结果:
进入success方法,并进行后续操作。不进入fail方法
进入success方法,并进行后续操作。不进入fail方法
实际结果:
进入了fail方法
进入了fail方法
bug描述:
requestPayment调用支付宝支付时,返回错误
{"errMsg":"requestPayment:fail [payment支付宝:62009]null","errCode":-100,"code":-100}
但是报完错之后,它又自动跳转支付宝,且能支付且可以回调成功。可是因为是报了错,我无法在支付页监控他的支付状态。且同一个接口获取的链接和内容能在3.1.13版本支付且无报错。
不知道这段报错有没有用
W/AlipayDCPBlok: type=1400 audit(0.0:87428523): avc: denied { read } for name="version" dev="proc" ino=4026532262 scontext=u:r:untrusted_app:s0:c59,c258,c512,c768 tcontext=u:object_r:proc_version:s0 tclass=file permissive=0 app=xxx
W/xxx: Accessing hidden method Landroid/os/SystemProperties;-><init>()V (greylist, reflection, allowed)
W/Thread-13: type=1400 audit(0.0:87428525): avc: denied { read } for name="drivers" dev="proc" ino=4026531852 scontext=u:r:untrusted_app:s0:c59,c258,c512,c768 tcontext=u:object_r:proc_tty_drivers:s0 tclass=file permissive=0 app=xxx
W/Settings: Setting airplane_mode_on has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
W/xxx: Accessing hidden method Landroid/net/SSLCertificateSocketFactory;->getHttpSocketFactory(ILandroid/net/SSLSessionCache;)Lorg/apache/http/conn/ssl/SSLSocketFactory; (greylist, linking, allowed)
I/Timeline: Timeline: Activity_launch_request time:1930715844
D/DecorView: createDecorCaptionView windowingMode:1 mWindowMode 1 isFullscreen: true
