iOS支付资料iOS OC 学习手册iOS开发资料收集区

轻松搞定iOS微信支付/订单查询

2016-07-09  本文已影响1033人  75afc06dcc73

首先说一句微信官方文档真TMD坑。

完美支持iOS10


订单查询详情见Github


1.首先要到微信开发者平台注册成为微信开发者。


2.项目中的基本设置

将WXPay文件夹导入到您的项目中--->Github地址

Snip20160709_32.png

设置URL Types

Snip20160709_23.png

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);
 }];

上一篇下一篇

猜你喜欢

热点阅读