按照官方文档配置

https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1

微信支付需要得到以下字段

/** 商家向财付通申请的商家id */

@property (nonatomic, retain) NSString *partnerId;

/** 预支付订单 */

@property (nonatomic, retain) NSString *prepayId;

/** 随机串,防重发 */

@property (nonatomic, retain) NSString *nonceStr;

/** 时间戳,防重发 */

@property (nonatomic, assign) UInt32 timeStamp;

/** 商家根据财付通文档填写的数据和签名 */

@property (nonatomic, retain) NSString *package;

/** 商家根据微信开放平台文档对数据做的签名 */

@property (nonatomic, retain) NSString *sign;

#pragma mark - 发起支付请求

- (void)WXPayRequest:(NSString *)appId nonceStr:(NSString *)nonceStr package:(NSString *)package partnerId:(NSString *)partnerId prepayId:(NSString *)prepayId timeStamp:(NSString *)timeStamp sign:(NSString *)sign{

//调起微信支付

PayReq* wxreq             = [[PayReq alloc] init];

wxreq.openID              = appId;

wxreq.partnerId           = partnerId;

wxreq.prepayId            = prepayId;

wxreq.nonceStr            = nonceStr;

wxreq.timeStamp           = [timeStamp intValue];

wxreq.package             = package;

wxreq.sign                = sign;

[WXApi sendReq:wxreq];

}

//可能会遇到的问题

1.注册微信的时候   commd + b 此时编译发现出现这种问题

[WXApi       registerApp:@"wxXXXXXXXXXX"];

Undefined symbols for architecture x86_64:

"_OBJC_CLASS_$_CTTelephonyNetworkInfo", referenced from:

objc-class-ref in libWeChatSDK.a(MTAHelper.o)

ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

解决方法:

根据提示添加少了依赖框架CoreTelephony.frame 依赖库 添加ok

2.获取预支付id时候,微信返回的信息是
<xml>
     <return_code><![CDATA[FAIL]]></return_code>
    <return_msg><![CDATA[商户号mch_id与appid不匹配]]></return_msg>
</xml>

解决方式:

微信开放平台是一个号可以申请多个app,但是要想开通微信支付,是一个app对应一个商户号的。每个app的商户号都是不同的。请检查是否一一对应。

3.app调起微信支付,提示商户支付下单id非法

解决方式:

仔细检查一下签名的字段是否正确,我做的时候找了半天发现有个字段写错了,提示id非法,默默的去哭会。。。

4.无法启动微信支付的问题

解决方式:

(a).检查签名是否正确
(b)在URL Schemes中检查是否添加微信 appid
(c)是否注册appid

(d)检查数据类型是否正确

5.同样的签名android能用,iOS用就不行

解决方式:

第二次签名还是传给客户端都要用 @"Sign=WXpay" ,并且不能有空格

有时候服务端给的数据我们这边解决会多个空格或者解析出错,请仔细检查比对,实在不行把微信官方demo拿来套。

提别注意:

1>sign签名是否大写。

2>拼接的字符串是否按照ASCII码,从小到大排列。(建议用代码实现排序,不要手动排序,不然很容易出错的)

3>上传的参数格式"key=value&",这其中的key与value是否有错误(我就是因为一个参数的key少写了几个字母),包括是否少写了字母,写错了字母。4>是否拼接了商户自定义的密钥,也就是在微信商户平台里面自定义的密钥。并且判断是否与自己定义的密钥是否相同。

如果还有什么你遇到的问题,可以在下面留言,共同学习进步,谢谢^_^

微信支付遇到的各种坑及解决方案相关推荐

  1. 【原创】微信支付遇到的各种坑及解决方案随笔记录,invalid signature, “errMsg“:“chooseWXPay:fail“

    [原创]微信支付遇到的各种坑及解决方案随笔记录,invalid signature, "errMsg":"chooseWXPay:fail" 参考文章: (1) ...

  2. 微信支付退款回调踩坑及解决方案(附解密代码)

    文章目录 1. 回调失败问题(沙箱环境) 2. 解决方案 3. 退款回调的解密代码 1. 回调失败问题(沙箱环境) 问题始末: 最近再弄微信退款回调发现设置的回调的url根本就没有被调用,但是微信支付 ...

  3. 开发单页应用(SPA)时候遇到的微信支付授权目录的坑

    转载:http://www.tuicool.com/articles/mQ7RRfb 开发单页应用(SPA)时候遇到的微信支付授权目录的坑 好久没写blog了,今天微信终于让我忍不住上来写一篇. 项目 ...

  4. vue 微信支付的坑_Vue实现微信支付功能遇到的坑

    微信支付功能相比较支付宝支付,有点点繁琐,整理记录下来,以便日后所需 项目用VUE+EL搭建而成,支付用EL的radio来做的 微信支付 推荐安装最新版微信使用 支付宝 推荐有支付宝账户的用户使用 坑 ...

  5. android安装多个微信支付,android微信支付详解与坑

    要想在自己的APP中实现APP支付必须申请开通支付功能,这些按着文档来吧,我还是直接说Android中的问题吧. 一.签名 一定要在开放平台为自己的APP配置正确的包名和签名(签名:将APP打一个正式 ...

  6. 微信支付curl出错及错误码解决方案

    关键字:微信支付 curl出错 错误码6 错误码7 错误码28 错误码52 错误码58 错误码60 错误码77  作者:方倍工作室 原文: http://www.cnblogs.com/txw1958 ...

  7. php微信支付mch_id参数格式错误,再说一下微信支付踩到的坑 mch_id 参数格式错误...

    微信小程序支付在好久之前写过一次,后来再写的话也是用别人的 SDK 了,之前写的文章好像留了一点坑 博客有发过一篇关于微信小程序支付的文章,见PHP完成微信小程序在线支付功能 贴了代码没有检查,也给 ...

  8. iOS-通俗易懂的微信支付接入和爬坑指南,十分钟轻松搞完

     现在基本所有的App都会接入支付宝支付以及微信支付,也有很多第三方提供给你 SDK帮你接入,但是这种涉及到支付的东西还是自己服务器搞来的好一些,其实搞懂了 逻辑非常的简单,下面直接给大家说说下基本流 ...

  9. JSAPI微信支付开发流程和坑

    首先,我先简要说明一下微信支付开发的流程 众所周知,工欲善其事,必先利其器,微信官方推出了web微信开发工具,有windows.linux.版本的,根据自己的开发环境选择合适自己的,登陆公众平台--& ...

最新文章

  1. 开发日记-20190511 关键词 onStart()和onResume()存在的原因(猜测篇)
  2. Callback到Promise再到Async进化初探
  3. oracle 主键自增函数_oracle 实现主键自增
  4. 《大道至简》第七八章读后感
  5. 学材分析计算机一体化,计算机一体化教学的体会
  6. 面试官问:malloc(0)时程序会返回什么?
  7. capslock键英语怎么读_改造你的CapsLock键,让你效率提升近10倍!
  8. iOS求职之OC面试题
  9. 小波神经网络模型matlab,神经网络预测模型优点
  10. 20210223-广东省通信管理局
  11. 莫斯密码加密与解密--python加密篇
  12. 魔兽世界服务器修改模型,超简单魔兽世界修改模型 2.43可用 无需登录器
  13. msfconsole php,msfconsole从入门到放弃
  14. ArcGIS 在线地图加载插件介绍
  15. uniapp 安卓快捷方式插件(桌面长按app图标) Ba-Shortcut
  16. 在OpenJweb平台中实现微信刷卡支付(被动扫码)
  17. 用JavaScript做一个牛逼哄哄的计算机
  18. PCB设计指南:安规、布局布线、EMC、热设计、工艺
  19. Android免打包多渠道统计如何实现?通用流行框架大全
  20. Unhandled kernel unaligned access问题记录

热门文章

  1. 【requests爬虫用xpath解析_1】
  2. karate框架接口测试
  3. karate-club空手道成员俱乐部社区模块度计算和节点着色
  4. 视频剪辑怎么做?有什么创作技巧?
  5. 今日头条发视频播放量怎么盈利,今日头条收益计算规则
  6. 宝塔面板安装wordpress详细教程
  7. JPEGsnoop签定图片是否修改过
  8. MATLAB算法实战应用案例精讲-【智能优化算法】蜻蜓算法(DA)(附MATLAB代码实现)
  9. android开发,http请求和https请求有什么区别
  10. 3月!有关施行中小学生编程教育的重大新闻消息!