轻松搞定iOS微信支付/订单查询
2016-07-09 本文已影响1033人
75afc06dcc73
首先说一句微信官方文档真TMD坑。
完美支持iOS10
订单查询详情见Github
1.首先要到微信开发者平台注册成为微信开发者。
2.项目中的基本设置
Snip20160709_32.png将WXPay文件夹导入到您的项目中--->Github地址
Snip20160709_23.png设置URL Types
3.添加Framework
***以下框架不分顺序导入***
libz.tbd
libsqlite3.0.tbd
libc++.tbd
Security.framework
CoreTelephony.framework
UIKit.framework
SystemConfiguration.framework
Foundation.framework
Snip20160709_27.png
4.适配iOS9系统,请移步适配iOS9系统
5.开始进行微信支付
- 第一步
在AppDelegate中导入头文件
#import "DWWXPayH.h"
在AppDelegate.m中的 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//方法中添加以下代码
[[DWWXPay dw_sharedManager] dw_RegisterApp:@"你的appid" withDescription:@"你的项目Bundle Identifier"];
return Yes; }
在AppDelegate.m中添加以下三个个方法
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [WXApi handleOpenURL:url delegate:[DWWXPay dw_sharedManager]];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [WXApi handleOpenURL:url delegate:[DWWXPay dw_sharedManager]];
}
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary*)options{
return [WXApi handleOpenURL:url delegate:[DWWXPay dw_sharedManager]];
}//此方法是由于系统版本更新而出现的方法
- 第二步
在需要使用微信支付的地方导入头文件
#include "DWWXPayH.h"
@interface ViewController (){
DWWXPay *pay;
}
- (void)viewDidLoad {
[super viewDidLoad];
pay = [DWWXPay dw_sharedManager];
}
在开始支付时调用以下代码
NSString *xmlString = [pay dw_payMoenySetAppid:@"appid" Mch_id:@"商户id" PartnerKey:@"密钥" Body:@"商品信息" Out_trade_no:@"订单号" total_fee:1 Notify_url:@"回调地址" Trade_type:@"类型"];
[pay dw_post:@"https://api.mch.weixin.qq.com/pay/unifiedorder" xml:xmlString return_ErrorCode:^(NSString *return_msg, NSString *err_code, NSString *err_code_des) {
NSLog(@"付款出现错误:%@--%@--%@",return_msg,err_code,err_code_des);
} backResp:^(BaseResp *backResp) {
// NSLog(@"微信返回内容");
} backCode:^(NSString *backCode) {
NSLog(@"微信支付返回结果为:%@",backCode);
} BackTrade_stateMsg:^(NSString *backTrade_stateMsg, NSString *backTrade_state) {
}];
在开始查询订单时调用以下代码
NSString *xmlString = [pay dw_queryOrderSetAppid:@"appid" Mch_id:@"商户id" PartnerKey:@"商户密钥" Out_trade_no:@"订单号"];
[pay dw_post:@"https://api.mch.weixin.qq.com/pay/orderquery" xml:xmlString return_ErrorCode:^(NSString *return_msg, NSString *err_code, NSString *err_code_des) {
} backResp:^(BaseResp *backResp) {
} backCode:^(NSString *backCode) {
}BackTrade_stateMsg:^(NSString *backTrade_stateMsg, NSString *backTrade_state) {
NSLog(@"返回订单状态%@------返回订单状态码%@",backTrade_stateMsg,backTrade_state);
}];