iOS微信支付老版本与新版本

很多同学都说微信支付坑,其实支付对接并不难,只要了解支付流程,那么很多东西都很容易解决的(虽然官网文档确实写得不详细)

以前的支付大部分都是写在前端的(至少我们公司当年是那么做的),现在支付更新后,都是推荐在服务端做加密签名,然后由前端进行支付的调起(因为在前端进行加密容易被抓包然后进行价格修改等,简单的说就是不安全)。前端的同学可以很轻松完成支付的开发,对于新手很是友好。下面我们开始说下微信的接入(老版本、新版本),我会把demo放在文章末尾

首先我们先准备下微信的SDK,现在微信开发者平台上老版本的SDK好像找不到了,你们可以在我demo里面WXPay文件找到SDK:

导入工程后导入库,这里我就不写了,直接上图


可以根据官网去导入对应库



继续设置


ARC

然后在Build Settings搜索bitcode 设置为NO(根据你的情况去设置)

在Info设置Schemes


Schemes设置你的APP_ID

在Info.plist设置LSApplicationQueriesSchemes的白名单

到这里微信支付的基本设置就完成了

下面开始上代码:

在AppDelegate中进行微信的注册  // 注册

[WXApi registerApp:@"App_ID"];

注册后我们使用微信支付

[WXObjcPay sendPay_demo];

这里简单说下微信支付需要的一些参数,一般公司都会有专人去申请这些支付信息,包括一些登录的。(小公司一般都是开发者自己去申请这里我就不说了)

微信支付老版本需要用到APP_ID、  APP_SECRET、     MCH_ID(商户号)、  PARTNER_ID(商户API密钥)

这四个。微信支付的支付流程我们可以这样去理解:

用户点击微信支付按钮------->客户端根据产品价格、产品的一些基本信息生成产品预付单信息---------->通过产品预付单获取到prepayid进行二次签名---------->签名成功---------->调起支付进行产品的付费(下单、二次签名、调起支付)

上面就是老版本微信支付的接入,有不懂的或者本文有错误的地方请提出、互相交流,具体代码看demo

下面我们开始讲下更新后的新版微信支付

新版本的SDK去掉了lib文件的类、lib文件里面的类主要是进行下单加密,也就是说微信希望加密的流程不要放到前端去做,官网里面也有说明(写在一个不起眼的地方。。。。)

接入的方式可以参考老版本的,导入SDK----导入库----设置schemes----设置白名单

基本设置完成后使用支付:

用户点击微信支付------>把产品信息传到服务端------->服务端返回PayReq参数{

"appid": "wxb4ba3c02aa476ea1",

"noncestr": "d1e6ecd5993ad2d06a9f50da607c971c",

"package": "Sign=WXPay",

"partnerid": "10000100",

"prepayid": "wx20160218122935e3753eda1f0066087993",

"timestamp": "1455769775",

"sign": "F6DEE4ADD82217782919A1696500AF06"

}------------>[WXApi sendReq:req]调起微信支付

从上面我们可以看到,我们只是把产品信息传到服务端,由服务端进行下单、加密签名,前端只需要把加密的信息获取到,然后使用sendReq:方法调起微信

好了,今天的支付就到这里奉上demo---git.oschina.net/xpyt/WeiXinZhiFu/tree/master

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,387评论 25 708
  • 前言:本篇文章目的在于梳理知识,巩固思想,学习总结。有什么好的建议,都可以留言。互相促进!总观,微信支付,也没心思...
    麦穗0615阅读 10,087评论 8 70
  • 自己总结的微信支付宝支付流程和注意点: 准备工作: 需要公司的营业执照,税务信息,等老板的身份证信息等,我记得,用...
    Www刘阅读 18,588评论 2 50
  • 准备工作: 需要公司的营业执照,税务信息,等老板的身份证信息等,我记得,用这些材料,去支付宝注册一个商家账户(审核...
    Hevin_Chen阅读 6,823评论 0 9
  • 是的,小全又旷了一天工。 说是旷工,其实她有打电话给齐朗,电话里齐朗没说什么,但能感觉出来不是很高兴吧。小全现在还...
    李西柚李阅读 210评论 0 0