微信支付
2016-01-19 18:49
330 查看
APP端开发步骤说明
IOS开发要点说明
以下项目开发环境以Xcode6.0,运行环境为IOS7.0为例,说明其开发中需要的操作。1、项目设置APPID
商户在微信开放平台申请开发APP应用后,微信开放平台会生成APP的唯一标识APPID。在Xcode中打开项目,设置项目属性中的URL Schemes为您的APPID。如图8.7标红位置所示。
图8.7
2、注册APPID
商户APP工程中引入微信lib库和头文件,调用API前,需要先向微信注册您的APPID,代码如下:
[WXApi registerApp:@"wxd930ea5d5a258f4f" withDescription:@"demo 2.0"];
3、调起支付
商户服务器生成支付订单,先调用【统一下单API】生成预付单,获取到prepay_id后将参数再次签名传输给APP发起支付。以下是调起微信支付的关键代码:
PayReq *request = [[[PayReq alloc] init] autorelease];
request.partnerId = @"10000100";
request.prepayId= @"1101000000140415649af9fc314aa427";
request.package = @"Sign=WXPay";
request.nonceStr= @"a462b76e7436e98e0ed6e13c64b4fd1c";
request.timeStamp= @"1397527777";
request.sign= @"582282D72DD2B03AD892830965F428CB16E7A256";
[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){ caseWXSuccess: //服务器端查询支付通知或查询API返回的结果再提示成功 NSlog(@"支付成功"); break; default: NSlog(@"支付失败,retcode=%d",resp.errCode); break; } } }
回调中errCode值列表:
名称 | 描述 | 解决方案 |
---|---|---|
0 | 成功 | 展示成功页面 |
-1 | 错误 | 可能的原因:签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、其他异常等。 |
-2 | 用户取消 | 无需处理。发生场景:用户不支付了,点击取消,返回APP。 |
相关文章推荐
- Zabbix实现微信告警
- 定时组件quartz系列<一>模拟定时组件小程序
- 创建应用快捷方式到桌面
- 干货,Umeng分享纯图片(避免跳坑)到_微信,朋友圈等
- 【微信支付踩到的那些坑】1.Android 微信支付,body为中文字符,签名错误
- php过滤微信表情符号
- Zabbix实现微信告警
- PHP实现微信网页授权开发教程
- 企业微信号开发搭建指南
- 微信公众号开发--接收与回复消息(Java)
- Zabbix实现微信告警
- Zabbix实现微信告警
- Zabbix实现微信告警
- android高仿微信表情输入与键盘输入详解-解决跳闪与表情切换问题
- 微信支付开发-Senparc.Weixin.MP详解
- shareSDK新浪和微信分享错误code=204
- shareSDK新浪和微信分享错误code=204
- 微信接口服务器配置时,token验证失败
- zabbix实现微信报警
- Zabbix实现微信告警