UniApp支付宝沙箱环境支付无法使用

一、概述

支付宝支付API是支持沙箱环境支付的,下载阿里提供的支付宝沙箱版,后台配置好沙箱环境的参数,便可以进行支付测试。

本文主要讲述uniApp进行沙箱环境支付时,在唤起支付宝过程中,会直接进入失败回调的问题。

二、解决方法

一开始这个问题让我以为uniApp不支持支付宝支付,但是试了一下正式环境的支付宝支付,是可以正常唤起的。

后面,在仔细翻阅了文档之后,才知道支付宝支付的SDK,是分生产环境和沙箱环境的,如果不进行设置,默认是生产环境。

如果要进行沙箱环境测试,需要将其设置为沙箱环境才可以正常支付。示例如下。

设置支付宝SDK为沙箱环境

let EnvUtils = plus.android.importClass("com.alipay.sdk.app.EnvUtils");    
EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX);

通过上面的代码,执行之后,支付宝的沙箱环境支付就可以正常使用了。

但是,如果是在生产环境,千万不可以执行上述语句!!!

为了防止打正式包的时候,来来回回切换不方便,可以使用uniApp的环境判断来区分当前是生产环境还是测试环境。

增加生产与测试环境判断

if(process.env.NODE_ENV === 'development'){
    // 开发环境,设置支付宝支付为沙箱环境
    let EnvUtils = plus.android.importClass("com.alipay.sdk.app.EnvUtils");    
    EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX);
    console.log("Init alipay sandbox complete.");
}

三、结语

相比微信,支付宝的沙箱环境还是很方便的,可以帮助我们在测试的时候进行一些大额的支付。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值