一、开发前准备
1.打开
https://open.weixin.qq.com
,申请微信开发者账号;
2.打开“管理中心”,“创建移动应用”;
3.对开发者账号进行认证(需要300元/年);
4.点击应用,“申请开通”微信支付(需要公司营业执照、APP截图(如果是没上线的APP)),注意:申请时,经营类目一定要和属于营业执照的子类,描述也要根据实际情况来写;
5.开通之后你会收到一封邮件;
6.打开
https://pay.weixin.qq.com/index.php/home/login
,登录到微信商户平台。点击“账户设置”-》“API安全”-》“设置秘钥”(API_KEY)。
至此,接入前准备工作已完成。
二、在APP中接入。
请参照demo
本demo参照微信官方文档、demo编写及实际项目中的应用编写而成,开发者更容易继承。
2015年9月14日更新:
demo中在APP端进行的生成预付订单及签名,这样做并非官方文档所推荐的。
生成预付订单和签名应该在服务器端来完成,然后把数据返回给APP端,APP仅需用这些数据调用微信支付即可。
注: 调用支付过程中,若果遇到点击支付,在微信只有一个确定按钮(或点击支付,跳转到微信,又直接跳转到APP),请检查注册的appid和服务器返回的appid是否一致,各参数是否正确。
特别注意:时间戳字段应该为10位。
//调起微信支付
PayReq* req = [[PayReq alloc] init];
req.openID = [dict objectForKey:@"appid"];
req.partnerId = [dict objectForKey:@"partnerid"];
req.prepayId = [dict objectForKey:@"prepayid"];
req.nonceStr = [dict objectForKey:@"noncestr"];
req.timeStamp = stamp.intValue;
req.package = [dict objectForKey:@"package"];
req.sign = [dict objectForKey:@"sign"];
BOOL flag = [WXApi sendReq:req];