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

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

以前的大部分支付都写在前端(至少我们公司当年是这样做的)。现在付款更新后,建议在服务端签名加密,然后前端调整付款(因为前端加密容易被抓,然后修改价格等。,简单来说就是不安全)。前端学生可以轻松完成支付开发,对新手非常友好。先说微信接入(旧版、新版)。demo文末

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

导入工程后,我不会在这里写。直接上图

继续设置

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

在Info设置Schemes

在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/ ** ster

扫码免费用

源码支持二开

申请免费使用

在线咨询