iOS微信支付步骤以及出现的问题总结
来源:互联网 发布:淘宝联盟官方网站 编辑:程序博客网 时间:2024/06/14 02:03
一、下面我先说一下大概的流程:
1.首先你得搞清楚几个参数的意义。这些参数除了第二篇文章的调起微信支付的参数外,还有统一下单里面必须要填的参数。"必填"->"是",这些参数也要准备好。上传的参数的地址:https://api.mch.weixin.qq.com/pay/unifiedorder 。(微信的统一下单的地址)
2.app端通过上传一些微信的公共的“统一下单”要填的参数,返回一些数据,得到支付的参数。微信统一下单要填写的参数。
3.通过得到的参数,调起微信支付,完成支付。
4.由于传递参数的 时候是xml格式,因此我们需要用NSXMLParser解析。
5.在上传参数(统一下单里面的参数)的过程中,我们可以用微信自带的在线签名验证工具。验证工具 。通过NSLog打印出日志,然后对比,把要app端要上传的参数,填写到验证工具里面。
注意:一个参数 的字母都不要少,参数的内容里面的字母,大小写都不要错。
6.需要做两次签名,第一次签名是上传request请求时,拼接的字符串,创建一次sign;第二次签名是请求统一下单之后,主要是用返回的一个prepay_id的一个字符串,根据appid、noncestr、package、partnerid、prepayid、timestamp这些字符串的内容,重新创建一次sign,第二次的sign是为了调起微信支付用的。
校验工具配置参数如下:
二、我先总结微信支付过程中,出现的问题:
1.打印日志结果是:
分析:由于是上传到统一下单的接口的参数,缺少参数。这个时候需要打开微信的统一下单的界面,检查自己上传的参数缺少哪一个。
2.打印日志结果:
这个的错误原因就是签名错误,整理错误的信息 如下:
1>sign签名是否大写。
2>拼接的字符串是否按照ASCII码,从小到大排列。(建议用代码实现排序,不要手动排序,不然很容易出错的)
3>上传的参数格式"key=value&",这其中的key与value是否有错误(我就是因为一个参数的key少写了几个字母),包括是否少写了字母,写错了字母。
4>是否拼接了商户自定义的密钥,也就是在微信商户平台里面自定义的密钥。并且判断是否与自己定义的密钥是否相同。
三、微信支付demo示例:
1>这个demo是在前期的文章二中,继续添加文件。
2>工程的目录如下图介绍:
3>加密工具:
WXUtil.h 文件
WXUtil.m文件
4>XMLParseManager.h 文件
XMLParseManager.m 文件
4>工程代码:
上传参数,返回字符串的代码:
参数上传成功之后会出现以下日志:
调起微信支付的代码:
- iOS微信支付步骤以及出现的问题总结
- iOS微信支付的步骤以及问题描述
- IOS集成到支付宝的步骤以及问题
- iOS 微信支付详细步骤及几个可能遇到的小问题
- 关于微信支付ios的问题
- 微信支付遇到的问题总结
- IOS微信支付 总结
- iOS-微信支付总结
- iOS 微信支付详细步骤
- APP接入微信支付步骤,及遇到的问题
- 微信支付问题总结
- 微信支付问题总结
- iOS-集成支付宝支付、微信支付简单总结
- Android-集成微信支付以及遇到的问题浅谈
- android微信支付移植的步骤
- 微信支付的相关步骤
- ios 微信支付集成完结--总结
- IOS 微信支付界面乱码问题
- 字段名
- jz2440开发板基本操作
- Java反射获取Class文件对象3种方法
- iOS与Android对比学之NSNotificationCenter
- 安装openresty失败的解决
- iOS微信支付步骤以及出现的问题总结
- 12个常用php工具函数
- 获取当前零点零分的时间戳方法
- 《API Design for C++》读书笔记(一)
- JavaEE
- 【matplotlib】plot()kind参数表
- 监测input file的事件
- 1022. Digital Library (30)
- Hibernate知识点总结