android 微信开放平台,如何获取应用签名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 微信开放平台,如何获取应用签名相关的知识,希望对你有一定的参考价值。

参考技术A

在微信开放平台申请app应用的时候,遇到要填写 应用签名 一栏。

找到签名文件
keytool -list -v -keystore xxx.keystore
证书指纹节点下的MD5值转成小写,去掉冒号。

首先跟随 生成keystore和应用签名 ,生成 .jks 签名文件,
然后跟随 微信开放平台android应用签名的本质及如何获取 的第三、四步,生成带签名的apk,并用专门的工具查看应用签名。

最后用工具查看到应用签名后,我们发现,其实它就是keystore文件的MD5值。
这样,我们就能够 查看应用签名了

如果你在 修改签名 后,进入微信授权页面失败,且提示"应用签名与微信开放平台上的签名不一致",有可能是 微信缓存 的缘故。
根据 android之微信开放平台修改签名 ,只要清理微信缓存,或重装微信即可。

接下来还有一个问题没解决:

解决方法参考 Android Studio直接运行调试签名包
但这样的做法会显示暴露keystore信息,所以跟随 Android Studio的两种模式及签名配置 的后半部分,可以让项目间接引入keystore信息。

Hbuilder mui——app微信支付

一、参数说明

        登陆微信开放平台(注意是开放平台,不是公众平台);https://open.weixin.qq.com

        做app首先需要在微信开放平台后台创建应用,第二步勾选ios和Android应用平台,其中Android应用需要填写应用签名、应用包名,重点就在与如何获取应用包名、应用签名。(审核和开通方式教程

        

        应用包名:就是Hbuilder中打包时填写的Android包名;

        应用签名:如果用的是DCloud公用证书,则微信应用签名为:"59201cf6589202cb2cdab26752472112"(全小写)

                        如果是自有证书,获取应用签名方法:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5  参考:Android开发要点说明->第一步(后台设置)。

                        也可以自己配置证书,在网上搜索android.keystore证书配置教程,app打包时候选择此证书即可

        下图是微信中的配置,注意看红框中的描述

 

二、DCloud官网支付配置

        官方的支付配置有很多重点都没说明,但是下面的参考实例代码还是有用的。其中的appid就是开放平台的appid。

         注意:获取的支付通道每种包含三个字段:id、description、serviceReady。serviceReady是用来判断支付通道服务是否安装,对于支付宝可以通过wap页面支付,因此值固定为true;然而微信支付则依赖微信客户端,如果设备上未安装微信客户端则serviceReady值为false,此时应该提示用户安装微信客户端才能进行支付操作。(官网文档

 三、流程

        流程与支付宝app支付类似。(业务流程Android开发步骤说明

        1.app发起支付申请,请求服务器向微信发起预付单处理;(微信统一下单

        2.请求成功后,对预付单进行签名并返回json数据给app;(处理并签名之后的参数:调起支付参数

        3.app拉起微信支付;

        4.支付成功后异步通知服务器支付结果;

        5.app中进入订单支付结果页面(这里数据重新与服务器确认是否支付成功)

四、问题解决

        肯定会碰到的问题:支付失败:-100[100]:[payment微信:-1]General errors,肯定是配置出现错误了,微信不会提醒你错误在哪的

                1.检查参数:

                        a.确认开放平台的 appid、mac_id、key、Appsecret  与服务器中的配置一样。(公众号中NOTIFY_URL 是需要匹配才能回调,开放平台好像不需要)

                        b.app只需要配置微信appid即可。

                        c.确认app中的"应用包名"与微信中配置一样;

                        d.再次检查微信配置中的"应用签名"是否按规定获取的。!!!!(签名通过一个app获取,参考上面文档,确认是否填的正确值)

                2.如果是刚修改过微信配置中的应用签名,则需要等待几分钟甚至更久才能测试成功

                3.确认服务器向微信发起预付单处理,返回的参数没有错误(说明签名方式没错,所有签名方式都需要按同一种方式执行)

                4.在app端查看服务器传回来的参数是否缺少或者有错误(参考 调起支付参数 严格对比字母大小写)

 

mui中查看错误信息比较麻烦,我的做法是:console.log(JSON.stringify(result)); 数组转为输出json字符串

 

以上是关于android 微信开放平台,如何获取应用签名的主要内容,如果未能解决你的问题,请参考以下文章

微信开放 添加android 两个应用包名一致,会有影响么

Hbuilder mui——app微信支付

Android之微信开放平台创建应用

cocos creator android之微信开放平台修改签名 baseResp.errCode=-6

android 微信开放平台登录问题,授权页无法调出

Unity微信Android端第三方登陆