您好,后台查不到您的具体错误信息,目前从报错信息来看,属于小细节问题,请仔细按照我给您发的仔细排查,请参考:首先应该检查app打包时使用的签名文件的MD5的值是否一样,如果这个MD5的值跟微信开放平台填写的值是一个的话就应该跟服务器交流核对noncestr的值是否一至,我此次出现的问题是直接把服务器发过来的sign发送给微信了,根据第四条应该重新进行签名,签名方式参考代码如下:

支付拉起代码:参数从服务器获取

public static void sendPayMessage(final String prepayId, final String nonceStr, final String timeStamp, final String sign){

if (!isSupportPay() || !Fanrncho_api.isWXAppInstalled()){

showToast(instance, WX_INFO);

return;

}

PayReq req = new PayReq();

req.appId = "xxxxxxxxxxxxxxxxxxx";//开放平台获取的appid

req.partnerId     = "xxxxxxxxx";//此处为商户的商户号  此处也要核对  在微信商户后台获取

req.prepayId      = prepayId;

req.nonceStr      = nonceStr;

req.timeStamp     = timeStamp;

req.packageValue   = "Sign=WXPay";

req.sign = sign;

//开始将6个字段进行数据封装

LinkedList signParams = new LinkedList();

signParams.add(new BasicNameValuePair("appid", req.appId));

signParams.add(new BasicNameValuePair("noncestr", req.nonceStr));

signParams.add(new BasicNameValuePair("package", req.packageValue));

signParams.add(new BasicNameValuePair("partnerid", req.partnerId));

signParams.add(new BasicNameValuePair("prepayid", req.prepayId));//这个字段服务器签名的时候没用到,客户端签名的时候记得加上

signParams.add(new BasicNameValuePair("timestamp", req.timeStamp));

req.sign = genAppSign(signParams);

// 在支付之前,如果应用没有注册到微信,应该先调用IWXMsg.registerApp将应用注册到微信

Fanrncho_api = WXAPIFactory.createWXAPI(instance, "xxxxxxxx");

Fanrncho_api.registerApp(Fanrncho_WX_APP_ID);

Fanrncho_api.sendReq(req);

}

签名生成代码:

/**

* 生成签名

*/

private static String genAppSign(LinkedList list) {

StringBuilder sb = new StringBuilder();

for (int i = 0; i < list.size(); i++) {

sb.append(list.get(i).getName());

sb.append('=');

sb.append(list.get(i).getValue());

sb.append('&');

}

sb.append("key=");

sb.append(WX_MCH_KEY);//此处为商户的appkey  此处也要核对  在微信商户后台获取

String appSign = getMessageDigest(sb.toString()).toUpperCase();

return appSign;

}

public final static String getMessageDigest(String buffer) {

String result = null;

try

{

MessageDigest md = MessageDigest.getInstance("MD5");

md.update(buffer.getBytes());

byte b[] = md.digest();

int i;

StringBuffer buf = new StringBuffer("");

for (int offset = 0; offset < b.length; offset++)

{

i = b[offset];

if (i < 0)

i += 256;

if (i < 16)

buf.append("0");

buf.append(Integer.toHexString(i));

}

result = buf.toString();

} catch (NoSuchAlgorithmException e)

{

e.printStackTrace();

}

return result;

}

再以上代码中appid、partnerid、WX_MCH_KEY要进行核对是否一样如果不一样也会导致返回-1,该值的获取方式写在该值的后边了,注意签名方式要和获取prepayid的签名方式相同,就是说服务器的怎么签名客户端也要怎么签名,只不过客户端添加了prepayid这个字段,如果服务器给的签名是添加了prepayid这个字段的签名则可以用服务器给的签名,否则一定要自己重新进行签名。支付的回调就按微信文档中的创建一个wxapi包放在包名下,回调的文件直接用demo中的WXPayEntryActivity即可,名字不可更改。实现onResp方法即可。

微信支付无法连接服务器,微信支付无法调起相关推荐

  1. 苹果备忘录分享不了微信提示无法连接服务器,微信分享提示universal link 校验不通过...

    我的是一个老项目 需要升级友盟分享的sdk(实际上也是微信和qq的sdk); 这边后台给我的配置apple-app-site-association文件的链接, 格式是(www.baidu.com:8 ...

  2. 苹果备忘录分享不了微信提示无法连接服务器,微信分享接口分享完成后在某些苹果设备上不能正常执行回调...

    我写了一个H5项目,现在已经在线上,发现使用ip7 plus ip x等手机在分享给朋友后可以正常完成回调然后执行跳转动作,但是如果分享到朋友圈的话,分享完成后(朋友圈分享成功)不能正常的执行回调完成 ...

  3. 微信人人商城云服务器,微信支付配置

    # **微信支付配置流程** ### **配置支付前需开通相应权限,[点击查看所需开通的权限](http://wiki.rrsc.cn/renrenshopv5/1833366)** * 微信支付,是 ...

  4. 自动连接 无法连接网络连接服务器,微信提示无法连接到服务器怎么办?微信无法连接服务器怎么解决?...

    本文就微信提示无法连接到服务器怎么办?微信无法连接服务器怎么解决?简单介绍一下解决方法. 1.更换接入点,重新连接网络: 2.单击手机上的Menu键,然后选择"设置": 3.单击& ...

  5. 微信的账号连接服务器失败怎么回事,微信无法连接到服务器的原因和6个解决方法...

    原标题:微信无法连接到服务器的原因和6个解决方法 最近有位朋友,在使用微信的时候,发现微信无法连接服务器的问题.其实,有许多朋友都遇到过这个问题,使用微信提示无法连接到服务,请检查你的网络或稍后再试, ...

  6. 微信收到消息很慢无法连接服务器,微信消息延迟几分钟才收到 微信收消息有延迟的原因及解决办法...

    微信收到消息总是延迟怎么回事呢?第一个就是网络延迟,第二个是手机信号不好,第三个就是微信自己设置的问题.下面,我们来看看微信收消息有延迟的原因及解决办法. 微信消息延迟几分钟才收到怎么回事 一.网络延 ...

  7. 微信收到消息很慢无法连接服务器,微信接收消息有延迟原因及解决办法

    微信收到消息总是延迟怎么回事呢?第一个就是网络延迟,第二个是手机信号不好,第三个就是微信自己设置的问题.下面,我们来看看微信收消息有延迟的原因及解决办法. 软件名称:微信安卓版 V8.0.9 for ...

  8. 苹果备忘录分享不了微信提示无法连接服务器,关于微信分享后,提示“未验证应用”的解决办法(iOS)...

    目录 关于微信分享后,提示"未验证应用"的解决办法 1.Universal Link : 1.1 通用链接是iOS9推出的一项新功能,如果你的应用(app)支持通用链接(Unive ...

  9. 动动同步微信无法连接服务器,动动运动,动动计步器加到微信可是不能连接到微信运动...

    怎样把动动计步器数据传到微信运动 点右上角的菜单键,然后选微信排行榜,关注动动计步器的微信公众号,以后运动完毕再点一下动动计步器的微信排行榜,就能同步到微信运动了. 跟微信运动能同步的计步器是什么 当 ...

最新文章

  1. 激活函数GELU()
  2. 数据洪流时代的芯片之变
  3. ReentrantReadWriteLock读写锁
  4. Finished yeah!
  5. PHP session的工作原理
  6. poj3320 尺取法 挑战程序设计竞赛
  7. copy 收到_离散内存与zero_copy的一些思考
  8. paip.php 5.0 5.3 5.4 5.5 -6.0的新特性总结与比较
  9. directx修复工具_Diamond Cut Forensics 10(音频修复软件)分享
  10. 计算机应用专业的简历自我介绍,计算机应用个人简历模板
  11. frp内网穿透SSH
  12. 格密码与最短向量上界
  13. STM32—串口通讯详解
  14. np.vstack(tup)使用
  15. Redis——模拟手机验证码发送
  16. JavaMail邮件发送不成功的那些坑人情况及分析说明(巨坑跳出专用姿势)
  17. Windows如何打开命令模式
  18. java 读取 application配置文件信息
  19. 个人所得税递归函数C语言,C语言实现 计算个人所得税务2种方法
  20. ppt中如何合并流程图_简单4招,教你轻松搞定PPT中的流程图!

热门文章

  1. vsftpd配置PASV模式下指定端口范围,以便配置防火墙
  2. 【数据结构】 天勤 2.2.6 逆序问题
  3. Ogg Theora encoder format
  4. 【财务危机】--2018.8债务
  5. 机器学习常用六大算法
  6. <<论文写作>>总结与心得体会
  7. (八)unity自带的着色器源码剖析之——————Unity3D的全局光照和阴影:下篇(unity3D中的球谐光照和SH球谐函数、unity实时阴影抗锯齿解决方案)
  8. Scratch 游戏项目学习法 —— 接苹果(七)让苹果回到顶部
  9. Linux centos 7 深度学习环境搭建(GPU版)
  10. AD09 DXP保姆级教程系列——001、汉化与新建工程