版权声明:本文著作权归TeachCourse所有,未经许可禁止转载,谢谢支持!
转载请注明出处:http://teachcourse.cn/1603.html

一、微信支付不成功的原因

调试微信支付Demo时特别令人心烦,麻蛋的,不是闪退就是调不起微信支付界面,微信支付一定要理解的几个概念:

  • 导出应用签名,区别于应用签名,使用debug.keystore密钥库,导出应用时进行签名
  • 项目包名,比如:com.shangmai.recovery
  • 应用签名,签名使用官网提供的工具——Gen_Signature_Android.apk,输入包名生成,比如:a04b960af8bf3b8bde86a25ecb791f84
  • APP_ID,微信开发平台创建移动应用并通过审核后,获取的,比如:wx530bae695c99f478
  • APP_SECRET,同APP_ID一样通过审核后,获取的,比如:8721ac50bd95c09da879f27d7b466a21
  • 微信支付接口,默认未开通,开通后获取对应的商户账号,比如:1233848001
  • 登录微信支付商户平台,点击“API安全”,设置API密钥,比如:412fde4e6c2e2bb619514ecea142e446
  • 修改APP_ID:请同时修改 androidmanifest.xml里面,.PayActivity里的属性

经过两次尝试,总结了微信支付不成功的几个原因:

1、第一种情况:调试官网的支付Demo

使用官网提供的支付Demo,导入Eclipse或Android Studio,不过我下载的Demo是Android Studio版本,只能导入Android Studio中,根据上述罗列的几个概念一一分析:

  • Demo提供的包名是:com.weixin.paydemo,但由于Demo未提供对应的debug.keystore,所以无法调起微信支付

2、第二种情况:修改官网的支付Demo

  • 生成自己自己的debug.keystore密钥库(建议生成),使用Eclipse或Android Studio默认的debug.keystore也可以,但发布APP时,需要重新使用自己生成的debug.keystore导出签名,否则调不起支付
  • 查看开发平台填写的Android应用包名
  • 手机或模拟器上,安装签名工具——Gen_Signature_Android.apk,输入包名,将获取的应用签名,填写到开发平台,同一个包名,应用签名是唯一的
  • APP_ID,微信开发平台“管理中心——查看”,APP_ID是唯一的,替换Demo的APP_ID,同时替换manifest中的属性,否则调不起支付
  • APP_SECRET,微信开发平台“管理中心——查看”,APP_SECRET允许重置,支付中未用到的常量
  • 开通Android应用支付接口,获取商户账号,替换Demo的常量:MCH_ID
  • 如果你开通支付接口的邮件中有对应的API密钥,替换Demo的常量:API_KEY。否则,登录商户平台,点击“API安全——设置API密钥”,重置时输入自定义的密钥(必须记住)

最终支付成功界面:

同样的一个Demo,在我这里测试可以成功调起支付界面,将Demo导入到你的Eclipse或Android Studio中运行不成功,原因在于我使用了自己的debug.keystore密钥库导出签名,你使用的是自己的debug.keystore或默认的debug.keystore,所以按照上述要求修改即可

二、推荐阅读

《APP签名的三种方式使用说明》

《微信开放平台怎么创建移动应用》

《Android应用微信支付功能实现》

微信支付不成功的几个原因相关推荐

  1. 微信支付终于成功了(安卓,iOS),在此分享

    第一次发文章 希望这篇文章对大家有用. 经过了几天的痛苦煎熬,终于把微信支付调通,整个调试过程很痛苦,痛苦的主要来源是微信支付的调试真的是,以前调试公众号支付也是一波三折啊.好吧,开始!首先说明,我这 ...

  2. 微信支付回调 java_Java微信支付-退款成功异步回调验签

    /** * 微信支付实现 * * @author: Sun * @create: 2019-10-10 17:54 * @version: v1.0 */ @Service @Slf4j public ...

  3. 扎克伯格“致敬”微信,但Facebook Pay能像微信支付一样成功吗?

    数字稳定币Libra"出师未捷",Facebook接下来会有什么动作?许多人都没想到的答案,会是软件移动支付. 市场对这两种金融探索的反应也天差地别.六月份Libra白皮书公开,比 ...

  4. 微信支付整理 (微信公众号支付)

    由于本人愚钝,在最初接触微信支付时遇到很多坑.在第一次将微信支付调试成功之后在网上炫耀般的留了一个qq(24xxxx)号,以便帮助到更多的人.由此便接触到了大概100多号人的qq询问,期间也拒绝了很多 ...

  5. 撸一撸腾讯的微信支付(C#)

    一.前言 以往网上支付都是支付宝的天下,随着微信用户群的日益增多(其实,到现在我也不理解微信为嘛那么火,功能还没QQ强大,或许是公众号的原因?),先如今不上个微信支付你都不好意思说你系统支持在线支付. ...

  6. 微信支付商户接入(一)

    微信支付商户接入(一) JSAPI支付 沙盒环境测试 常见错误说明: 个人遇见的几个错误及解决办法: 使用微信支付的过程中,踩了不少坑,这里记录下遇到的问题,方便后续的开发者查找和解决问题. JSAP ...

  7. java版+支付宝支付和微信支付(一)(含源码)

    最近公司在做支付模块,在接入过程中遇到了很多坑,费了不少事,现在分享一下接入方法,也记录一下,以后可能还用的到.用的是支付宝的即时到帐支付功能和微信的扫码支付功能,相比起来,个人感觉支付宝的文档和接入 ...

  8. 富友支付AS微信支付

    刚好公司有个需求,需要把公众号的微信支付,改成富友AS微信支付(我自己起的名字),而且是要用C#去写.对于只用过PHP和Python的我来说,那是一脸懵逼.最后研究了一下富友开放平台的文档,折腾了一天 ...

  9. 微信支付与支付宝钱包的竞争分析

    微信支付与支付宝钱包的竞争分析 NO1: 十九世纪七十年代起,"物竞天择,适者生存,优胜劣汰"已逐渐成为现代生物学的口号.而今,不知不觉中,它似乎也成了当代社会学的口号.罗素说:& ...

最新文章

  1. 从0搭建一个Springboot+vue前后端分离项目(七)完善前台与后台的联系,完善功能接口
  2. 命令行用pip命令安装mysql_使用pip install mysqlclient命令安装mysqlclient失败?(基于Python)...
  3. JDK1.6版添加了新的ScriptEngine类,允许用户直接执行js代码。
  4. 为什么 Go 的泛型一拖再拖?(转)
  5. 进入顶层社会的顺序是什么?
  6. 【报告分享】2021微信视频号生态洞察报告.pdf(附下载链接)
  7. ehcache缓存原理_Mybatis-09-缓存
  8. Install/Remove of the Service Denied
  9. CSS字体、文本属性
  10. idea破解失败无法打开
  11. WPF控件模板和数据模板的区别
  12. lisp 定距等分_CAD点命令快捷键(定数等分及定距等分)
  13. 13.MD5对用户密码进行加密
  14. 002柿饼派GUI模组学习之AnimatedImage控件调试
  15. matlab扩展的欧几里得算法_最大公约数问题(欧几里得算法)
  16. MakerDAO亚洲区负责人王奇君:我的DAI很稳!
  17. 注册表RootKey简写:HKCR, HKCU, HKLM, HKU, and HKCC
  18. DataLoader的num_workers设置引起卡死/堵塞/报错,第一个epoch前几个iteration就卡住了,没有报错,内存不释放,GPU利用率为0
  19. 让孕期营养更科学 初光开启孕妇餐饮食新理念
  20. html画布创建黑白象棋棋盘,HTML5学习与加固——canvas绘图象棋盘

热门文章

  1. java-php-python-ssm信贷管理系统计算机毕业设计
  2. 问卷调查小程序功能清单
  3. 吉大20春学期C语言程序设计作业二,c语言程序设计 教学课件 ppt 作者 吉大17秋学期《C语言程序设计》作业一...
  4. TCP协议 握手与挥手
  5. 37岁老将魔笛告别世界杯,海信电视向传奇致敬
  6. pdf.js在线查看(文档流/地址)
  7. C语言打字游戏(无错误警告版)
  8. VS Code保存文件时自动删除行尾空格
  9. 横屏切换视频(iOS基于ZFPlayer 做的横屏上下滑动切换视频的需求)
  10. 如何在 JupyterLab 中把 ipykernel 切换到不同的 conda 虚拟环境?