收藏
回答

大佬们好,Android对接微信支付,支付成功后点击"返回商家"无法反回自己的app。


Android对接微信支付,支付成功后点击"返回商家"无法反回自己的app。 看了代码回调了WXPayEntryActivity中的onResp(BaseResp resp),并且error=0,也执行了 finish(),但是无法返回自己的app。

android微信支付sdk是:5.4.0

android sdk是:34


一,我按照官方文档配置了依然不行。

微信没有打开的时候"返回商家"可以返回自己的app,微信打开以后就只返回到聊天界面,无法直接返回自己的APP。

三,网上有很多这样的问题也没看见具体的解决方案。

https://developers.weixin.qq.com/community/develop/doc/00024c6daf87d0c098820796c61000

https://developers.weixin.qq.com/community/pay/doc/00042a8efd0f806b4b717a32b6bc00

https://developers.weixin.qq.com/community/develop/doc/00062c887ece50a2d5826cf186b800?highLine=Android%2520%25E6%2594%25AF%25E4%25BB%2598%25E6%2588%2590%25E5%258A%259F%25EF%25BC%258C%25E7%2582%25B9%25E5%2587%25BB%25E8%25BF%2594%25E5%259B%259E%25E5%2595%2586%25E6%2588%25B7%25E6%2597%25A0%25E6%25B3%2595%25E8%25BF%2594%25E5%259B%259EAPP

四,请大佬们看看,具体怎么解决。

回答关注问题邀请回答
收藏

4 个回答

  • 支付社区运营
    支付社区运营
    2025-04-10

    你好辛苦私信提供异常复现视频(上传至腾讯客服发链接给我),上传下微信客户端日志+微信号,覆盖测试时间段。

    上传日志方法:微信客户端  我->设置->帮助与反馈->右上角扳手上传日志

    2025-04-10
    有用
    回复 2
    • 姜培育
      姜培育
      2025-06-16
      我也遇到同样问题了,怎么解决?
      2025-06-16
      回复
    • 左丘
      左丘
      2025-08-21
      遇到了同樣的問題,請問官方是否提供解決辦法?
      2025-08-21
      回复
  • 徐大雨
    徐大雨
    01-19

    此错误原因常见于开发者android项目中java的包名,与package name(旧版Manifest文件)/namespace(新版build.gradle)与微信开放平台包名三者配置不一致导致的。

    以下是AI分析的报告,请参考,不保证完全正确与适用。

    Android新版 namespace 决定了 AndroidManifest.xml 编译后的最终包名,微信SDK匹配的是这个编译后包名**。

    namespace vs Java包名 vs applicationId

    配置	                 Android Gradle Plugin版本	微信SDK匹配用
    package(Manifest)	  AGP < 8.0	                   ✅ 匹配
    namespace(build.gradle)  AGP ≥ 8.0	                   ✅ 匹配
    applicationId	          所有版本	                   ❌ 不匹配
    

    AGP 8.0+ 新机制(假设为你的情况)

    build.gradle配置:

    android {
        namespace "com.sexfun.payment"  // ← 这个就是最终包名!
        defaultConfig {
            applicationId "com.sexfun.payment.v2"  // 市场标识,无关
        }
    }
    

    AndroidManifest.xml:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android">
        <!-- 无需 package 属性,namespace 替代 -->
        <application>
            <activity android:name=".wxapi.WXPayEntryActivity"/>
        </application>
    </manifest>
    

    源码目录:

    src/main/java/com/sexfun/payment/wxapi/WXPayEntryActivity.java
    

    微信匹配流程:

    1. 微信开放平台配置:com.sexfun.payment  ← namespace值
    2. 微信SDK构造:cmp="com.sexfun.payment/.wxapi.WXPayEntryActivity"
    3. Android系统查找:namespace对应的包 + 相对路径 .wxapi.WXPayEntryActivity
    

    当 namespace != Java源码目录

    问题配置:

    namespace "com.sexfun.payment"
    源码目录:com.sexfun.payment2.wxapi.WXPayEntryActivity.java
    

    结果:❌ 匹配失败

    微信找:com.sexfun.payment.wxapi.WXPayEntryActivity
    实际有:com.sexfun.payment2.wxapi.WXPayEntryActivity
    

    正确配置(AGP 8.0+)

    build.gradle → namespace "com.sexfun.payment"
    源码目录 → com/sexfun/payment/wxapi/WXPayEntryActivity.java  
    Manifest → android:name=".wxapi.WXPayEntryActivity"
    微信平台 → 填 com.sexfun.payment
    

    三者必须一致:

    namespace == 微信开放平台包名 == 源码根目录
    

    迁移检查清单

    AGP 8.0+项目:
    ✅ build.gradle namespace 与微信平台包名一致
    ✅ 源码目录与namespace匹配  
    ✅ Manifest中的 android:name=".wxapi.XXXActivity" 用相对路径
    ✅ 编译后adb logcat确认Intent的cmp路径正确
    

    namespace取代了老版package属性,成为微信回调的新"黄金标准"!

    01-19
    有用
    回复
  • 左丘
    左丘
    2025-08-21

    請問:問題解決了嘛?

    2025-08-21
    有用
    回复 1
    • 支付社区运营
      支付社区运营
      2025-08-21
      实现下WXPayEntryActivity类
      2025-08-21
      回复
  • 夜猫子
    夜猫子
    2025-04-13

    楼主有解决么,我也有同样的问题,但是不局限于android13,我是登录能正常返回app,但是支付完了点击“返回商家”不好使。

    2025-04-13
    有用
    回复 2
    • cheny
      cheny
      2025-04-14
      具体解决方式是什么呢,我这边已经按照官方文档反复对比了很多次,确定没有错漏
      2025-04-14
      回复
    • 夜猫子
      夜猫子
      2025-04-17回复支付社区运营
      能发一下楼主是怎么解决的吗?就那么几行代码,我的登录能跳回,但是支付不能,sdk接入文档已经对比了很多次了
      2025-04-17
      回复
登录 后发表内容