登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

简单易用的微信支付/订单查询

[复制链接]
来自: dwang 分类: iOS精品源码 上传时间: 2016-8-22 09:07:20
Tag:微信 微信支付 Pay 查询订单

项目介绍:

DWWXPay   https://github.com/dwanghello/DWWXPay

简单两步实现微信支付与查询订单


1、iOS 9系统策略更新,限制了http协议的访问,此外应用需要在“Info.plist”中将要使用的URL Schemes列为白名单,才可正常检查其他应用是否安装。受此影响,当你的应用在iOS 9中需要使用微信SDK的相关能力(分享、收藏、支付、登录等)时,需要在“Info.plist”里增加如下代码:
[Objective-C] 查看源文件 复制代码
 <key>LSApplicationQueriesSchemes</key>
 <array>
 <string>weixin</string>
 </array>
 <key>NSAppTransportSecurity</key>
 <dict>
 <key>NSAllowsArbitraryLoads</key>
 <true/>
 </dict>

2、开发者需要在工程中链接上 CoreTelephony.framework
3、解决bitcode编译不过问题

导入微信支付API时libc++这个包一定要导入啊!!!虽然官方文档没说,但是有着血与泪的教训啊
[Objective-C] 查看源文件 复制代码
                ***以下框架不分顺序导入***
  libz.tbd
  libsqlite3.0.tbd
  libc++.tbd
  Security.framework
  CoreTelephony.framework
  UIKit.framework
  SystemConfiguration.framework
  Foundation.framework
  CFNetwork.framework





第一步将DEMO中的WXPay文件夹导入到项目中
---
在AppDelegate中导入头文件#import "DWWXPayH.h"




在- (BOOL)applicationUIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions;方法中添加以下代码
[Objective-C] 查看源文件 复制代码
 [[DWWXPay dw_sharedManager] dw_RegisterApp:@"你的appid" withDescription:@"你的项目Bundle Identifier"];




在AppDelegate.m中添加以下三个方法
[Objective-C] 查看源文件 复制代码
 -(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
      return [WXApi handleOpenURL:url delegate:[DWWXPay dw_sharedManager]];
}



[Objective-C] 查看源文件 复制代码
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [WXApi handleOpenURL:url delegate:[DWWXPay dw_sharedManager]];
}




[Objective-C] 查看源文件 复制代码
//此方法是由于系统版本更新而出现的方法
 - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary*)options{
      return [WXApi handleOpenURL:url delegate:[DWWXPay dw_sharedManager]];
 }





第二步
在需要使用微信支付的地方导入头文件#import "DWWXPayH.h"

在开始支付时调用以下代码
[Objective-C] 查看源文件 复制代码
 NSString *xmlString = [pay dw_payMoenySetAppid:@"appid" Mch_id:@"商户id" PartnerKey:@"密钥" Body:@"商品信息" Out_trade_no:@"订单号必需为新的订单号,不可以是以存在的订单号" total_fee:1 Notify_url:@"回调地址" Trade_type:@"类型"];



[Objective-C] 查看源文件 复制代码
[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) {


}];

在开始查询订单时调用以下代码
[Objective-C] 查看源文件 复制代码
 NSString *xmlString = [pay dw_queryOrderSetAppid:@"appid" Mch_id:@"商户id" PartnerKey:@"商户密钥" Out_trade_no:@"订单号"];



[Objective-C] 查看源文件 复制代码
[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);

}];


DEMO 直接下载:



相关源码推荐:

我来说两句
*滑动验证:
所有评论(83)
挖大坑的 2016-8-22 10:05:06
强烈支持楼主ing……
回复
初冬 2016-8-22 10:31:08
强烈支持楼主ing……
回复
code4app热心网友 2016-8-22 11:05:19
学习学习!
回复
code4app热心网友 2016-8-22 11:08:42
虽不明,但觉厉!
回复
code4app热心网友 2016-8-22 11:30:58
我只是路过打酱油的。
回复
code4app热心网友 2016-8-22 12:49:55
感谢分享,Code4App有你更精彩:)
回复
一叶知秋. 2016-8-22 13:49:56
楼主用心了,内容非常精彩。
回复
SimpLe丶yo 2016-8-22 14:03:05
我只是路过打酱油的。
回复
li1056334807 2016-8-22 14:25:26
楼主威武啊,Code4App有你更给力!
回复
提取码:  下载次数:90 状态:已购或VIP 售价:0(原价:10)金钱 下载权限:初级码农 
1933 3 90
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,742864542

如何获得代码达人称号?

代码贡献英雄榜
用户名 下载数
通过邮件订阅最新 Code4App 信息
上一条 /4 下一条
联系我们
关闭
合作电话:
13802416937
Email:
435399051@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

快速回复 返回顶部 返回列表