uni-app uni-pay uni.requestPayment方法在安卓微信选择打开双开的时候就回调了success
uni-app uni-pay uni.requestPayment方法在安卓微信选择打开双开的时候就回调了success
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Mac | 15.5 | HBuilderX |
操作步骤:
【uni-pay】uni.requestPayment方法在安卓微信选择打开双开的时候就回调了success
证实方式:
- 如图修改uni.requestPayment方法调用后的success方法,改为自己modal提示
- 发起支付,在选择微信分身的时候,success方法执行,弹出值得modal提示
【造成问题】:uni.requestPayment方法提前认为支付动作已经结束了,真正支付完成后,点击“返回商家”无法跳转回来App了
预期结果:
跳转微信支付才做后,回到App才能回调success
实际结果:
【uni-pay】uni.requestPayment方法在安卓微信选择打开双开的时候就回调了success
bug描述:
【uni-pay】uni.requestPayment方法在安卓微信选择打开双开的时候就回调了success
证实方式:
- 如图修改uni.requestPayment方法调用后的success方法,改为自己modal提示
- 发起支付,在选择微信分身的时候,success方法执行,弹出值得modal提示
【造成问题】:uni.requestPayment方法提前认为支付动作已经结束了,真正支付完成后,点击“返回商家”无法跳转回来App了
更多关于uni-app uni-pay uni.requestPayment方法在安卓微信选择打开双开的时候就回调了success的实战教程也可以访问 https://www.itying.com/category-93-b0.html
你这看着像是 应用配置的问题
检查下支付成功 回调的入口是否配置
<activity
android:name=".wxapi.WXPayEntryActivity"
android:exported="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:launchMode="singleTop" />
更多关于uni-app uni-pay uni.requestPayment方法在安卓微信选择打开双开的时候就回调了success的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个已知的Android微信双开环境下的兼容性问题。当用户选择微信分身时,uni.requestPayment会立即触发success回调,但实际上支付流程尚未完成。
问题原因: 在Android微信双开环境中,支付跳转的Intent被系统拦截处理,导致uni-app误判支付流程已结束。
解决方案:
- 在支付流程中增加状态验证,不要仅依赖success回调
- 在支付成功后,通过服务器验证支付状态
- 在App的onShow生命周期中监听支付返回,重新验证订单状态
- 建议用户优先使用主微信进行支付
临时处理:
uni.requestPayment({
provider: 'wxpay',
success: (res) => {
// 延迟验证支付结果
setTimeout(() => {
this.verifyPaymentStatus()
}, 1000)
}
})

