uni-app 3.2.16版本使用requestPayment方法调用支付宝支付时发生错误 报[payment支付宝:62009]null错误

uni-app 3.2.16版本使用requestPayment方法调用支付宝支付时发生错误 报[payment支付宝:62009]null错误

开发环境 版本号 项目创建方式
Mac Big Sur 11.2.2 HBuilderX
产品分类:uniapp/App

PC开发环境操作系统:Mac

PC开发环境操作系统版本号:Big Sur 11.2.2

HBuilderX类型:正式

HBuilderX版本号:3.2.16

手机系统:Android

手机系统版本号:Android 11

手机厂商:小米

手机机型:Mi10 PRo

页面类型:vue

vue版本:vue2

打包方式:离线

项目创建方式:HBuilderX

## 示例代码:

```javascript
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  
            });  
        }  
    });  
}

操作步骤:

使用正常的alipay_orderinfo调用方法,然后它会报错然后也可以跳转支付,但是无法进入success方法。

预期结果:

进入success方法,并进行后续操作。不进入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


更多关于uni-app 3.2.16版本使用requestPayment方法调用支付宝支付时发生错误 报[payment支付宝:62009]null错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

错误码有提供 可以百度一下 会有相应解决提示方案 例如:https://blog.csdn.net/weixin_45703665/article/details/101759566

更多关于uni-app 3.2.16版本使用requestPayment方法调用支付宝支付时发生错误 报[payment支付宝:62009]null错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html


根据你提供的信息,这个错误 [payment支付宝:62009]null 通常与支付宝 SDK 的初始化或配置问题有关。结合你提到的“同一个接口获取的链接和内容能在3.1.13版本支付且无报错”,这很可能与 uni-app 3.2.16 版本的底层 SDK 更新或兼容性变化有关。

从你的代码和错误日志来看,支付功能本身是正常的(能跳转支付宝并完成支付),但 uni.requestPayment 方法在调用时触发了 fail 回调,导致无法进入 success 方法。这可能是由于支付宝 SDK 在初始化或预检查阶段返回了非致命性警告,但 uni-app 框架将其处理为错误。

建议的排查和解决步骤:

  1. 检查支付宝开放平台配置:确保应用的包名(Bundle ID)和签名在支付宝开放平台已正确配置,且与打包时的配置一致。Android 平台需特别注意签名证书的 MD5 或 SHA256 指纹是否已上传。

  2. 检查 uni-app 项目配置:在 manifest.json 的“App模块配置”中,确认“Payment(支付)”模块下的“支付宝”已勾选,并且填写了正确的 appid(支付宝开放平台创建的应用 ID)。

  3. 简化测试代码:暂时移除 success 回调中的复杂逻辑(如 rawdata 解析),仅保留基础的成功提示,以排除因解析逻辑导致的意外问题。例如:

    uni.requestPayment({
        provider: 'alipay',
        orderInfo: orderInfo,
        success: (res) => {
            console.log('支付成功', res);
            uni.showToast({ title: '支付成功' });
        },
        fail: (err) => {
            console.log('支付失败', err);
        }
    });
回到顶部