iOS –app微信支付

原创 2015年11月17日 16:18:58

最近做工程时,app需要用到微信支付,通过看官方文档,记录下这次开发的过程。

微信支付分为好几种,这里记录的是app微信支付流程。

适用场景

用户使用xxAPP时,需要通过微信支付完成某项报名。此时xxAPP调用微信提供的SDK调用微信支付模块,接着xxAPP跳转到微信支付页面,由客户完成支付,支付完成后跳回到xxAPP页面,显示支付结果。

APP端开发步骤如下:

1.在xxAPP工程里设置APPID

商家在微信开放平台申请开发app应用后,微信开放平台会生成该app的唯一标识appId。在xcode中设置sppId步骤

xxAPP–>info–>URL Types–>URL Schemes–>输入商户自己的appId。

2.注册appId

在xxAPP工程中引入微信lib库和头文件,调用微信的api之前,需要先向微信注册商家的appId,代码如下

[WXApi registerApp:@"商家appId" withDescription:nil];

3.调用支付

用户在使用xxApp完成支付功能时,商家服务器会生成支付订单,先调用微信的统一下单API】生成预付单,获取到prepay_id后将参数再次签名传输给app发起支付。调用支付的关键代码如下:

PayReq *request = [[PayReq alloc] init];
request.partnerId = @"商户号";
request.prepayId= @"预支付交易会话ID";
request.package = @"Sign=WXPay";
request.nonceStr= @"随机字符串";
request.timeStamp= @"时间戳";
request.sign= @"签名";
[WXApi sendReq:request];

4.支付结果回调

参照微信SDK Sample,实现onResp方法、完成支付后,微信app会返回到商家app页面,并且回调onResp函数,开发者需要在该方法中接收通知,判断返回码,如果支付成功则去后台查询支付结果再展示给用户实际支付结果。注意:不能以客户端取到的钱数作为用户支付结果,应该以服务器端接收到的支付通知或查询API返回的结果为准。代码示例如下:

 -(void)onResp:(BaseResp*)resp
 {
        if ([respisKindOfClass:[PayRespclass]])
               {
		    PayResp*response=(PayResp*)resp;
			   switch(response.errCode)
			       {
			          case 0:
                      			//服务器端查询支付通知或查询API返回的结果再提示成功
                      			NSlog(@"支付成功");
                      	break;
                      	default:
                      	NSlog(@"支付失败,retcode=%d",resp.errCode);
                      	break;
                                  }
                }
 }

回调中errCode值列表

0      成功

-1     失败

-2     用户取消

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java服务端–微信APP支付接口

java服务端–微信APP支付接口

微信app支付demo iOS版

  • 2016-01-04 16:11
  • 10.58MB
  • 下载

iOS微信APP支付V3版本源码

之前做微信APP支付的时候,发现微信APP支付版本升级 -----> 申请支付能力成功之后,不再提供APP_KEY这个参数。 去网上找了找demo,发现并没有现成的可以拿来用,只好自己去看微信官方提供...

iOS APP接入微信支付功能的实现(小白篇)

iOS中APP的支付最常见的有三种(支付宝,微信,银联),百度钱包等没有太接触就不说了。这片博客先说下微信支付:     1.首先申请微信商家以及对应的平台等等,大多数APP已经在做微信支付的时候已经...

从零开始微信app支付v3-iOS版

贴入三个链接,1. 微信app支付官方开发文档(https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=9_1)                 ...

iOS调起微信,qq,支付宝app支付总结

一.调起微信支付 申请应用id见官方文档 需要的资源文件SDK文件包括 libWeChatSDK.a,WXApi.h,WXApiObject.h info中添加申请的微信key,idenfifire...

iOS安全–看了这个,你还敢用分身版微信吗?

最近微信分身版各种疯传,不少人都安装了不同功能的微信分身版,不管是一键转发,一键评论还是带有其它功能的微信分身版。         很显然很多人安装了这些分身版却不知道其中可能存在的风险,这些微...

iOS纯Autolayout实现微信朋友圈和通讯录另附App启动页短视频效果

根据个人的习惯而定,本博客主要以Autolayout为主,早之前没接触的时候,已经看习惯了代码布局UI,又长又 臭,而且主要是写出来不一定正确,跑起来的时候只有出一点错误,UI就飞了,一点都不直观,没...

iOS 7 新版微信 URL 不支持跳转 App Store 的解决方案

前端页面的下载按钮在 iOS 7 的微信内置浏览器里面点击无效,经过确认之后,前端代码是正常的,问题出在了微信上。 是 BUG 还是刻意为之? 最新版微信在所有开放的 webview(网页...

iOS攻防 - (一)Reveal 调试别人开发的app,如微信

1.准备工作   越狱手机一台  通过越狱iPhone上的Cydia软件,下载并安装Reveal Loader  MacOS和该iPhone同处于一个WiFi环境下 2.设备环境 越狱的i...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)