ios怎样ios11无法绑定微信支付方式

苹果iOS11这些新功能, 让微信支付宝尴尬了?
稿源:度比硬度
昨夜苹果最新发布的iOS 11更新了多项的和功用,而其中一个功用引起了全部商场的热烈广泛的评论,那就是在iMessage中联系了苹果自家的Apple Pay转账功用,可直接向兄弟的iMessage付出现金,并且还能够将收取到的现金存放于钱包余额中,可用于线下付出、提现,或许持续转发个下一个用户,本来跟我们平时运用到的微信与付出宝十分的类似。有媒体就表明,苹果这么的功用十分的强壮,关于微信与付出宝来说,也许会是一大竞争对手,究竟现在的微信与付出宝在提现的时候需求收取一定的手续费,微信与付出宝该为难了。不过,在叽歪数码看来,这不免有点言过本来,因素有以下几点:首要,现在的iMessage转账等功用本来只能限于苹果手机设备,关于巨大的安卓手机用户集体来说,运用范围本来有太严格的约束,并且现在运用短信的用户集体也十分的少了,大多数人的短信都只剩下了告诉类的音讯。其次,微信与付出宝的用户集体十分的大,从之前的统计数据来看,微信与付出宝这两大手机在线付出方法占了超越90%以上的商场份额,而苹果的apple pay仅仅占不到5%。而微信、付出宝本来也在逐步的扩展自个的商场份额,甚至进驻了美国商场。最后,在转换成线下付出的用户体会上,苹果做得适当的差劲。付出宝和微信付出本来属所以无门槛的运用体会,只需求简略的应用程序或许是二维码就能够完成付出的功用,而Apple Pay的线下运用还需求iPhone 6及以上的苹果手机才干支撑,假如对方没有苹果手机,就只有支撑NFC功用的POS机才干完成刷手机付出,在操作体会上也是十分的不人性化。你们觉得关于微信支付宝来说,苹果的在线付出能够造成多大的要挟呢?
有好的文章希望站长之家帮助分享推广,猛戳这里
本网页浏览已超过3分钟,点击关闭或灰色背景,即可回到网页他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)iOS中 最新微信支付/最全的微信支付教程详解
版权声明:本文为博主原创文章,未经博主允许不得转载。
每日更新关注:http://weibo.com/hanjunqiang
新浪微博!
亲们, 首先让我们来看一下微信支付的流程吧.
1. 注册微信开放平台,创建应用获取appid,appSecret,申请支付功能,申请成功之后会返回一些参数.
每日更新关注:
新浪微博!
亲们, 首先让我们来看一下支付的流程吧.
1. 注册微信开放平台,创建应用获取appid,appSecret,申请支付功能,申请成功之后会返回一些参数.
2. 下载微信支付sdk
3. 客户端请求订单,后台与微信后台交互,返回给客户端支付参数
4. 调用微信客户端,由微信客户端和微信服务器打交道;
5. 客户端和服务端都会收到支付结果;(前台消息不可靠,我们需要去后台验证,如果后台没有收到支付通知,后台去微信服务器验证然后将结果返回给客户端)
支付流程图(大家看一下支付流程).
那么我们现在就开始写微信支付的demo了.
1:去微信开放平台注册应用
创建移动应用并成功之后会收到腾讯发来的邮件
通过邮件我们能获得重要的参数:
(1):AppID
(2):微信支付商户号
(4):前往商户平台完成入驻
(4):API秘钥(自己设置即可,注意一定要32位字母加数字的组合)记得保存好秘钥,以后要使用
有了这些参数后,我们就可以开发自己的项目了.
接下来, 我们就新建一个微信工程吧.
创建好工程以后呢, 我们去微信平台下载sdk
下载好以后呢, 我们就开始集成SDK了
把左边的SDK拉到工程里面哦.
大家会看到文件夹里面有集成SDK的步骤.
第一步: 在info.plist添加如下代码
每日更新关注:
新浪微博!
这个大家都很熟练拉
添加需要的框架和依赖库 (ps: 官方文档没让添加libc++.tbd, 这点也是工程报错的时候发现的...)
剩下的事情, 我们只需要按照官方文档来做就行了, 亲们.
我们还回到上个页面.
微信:APPID:wx920fde9f97d60569
每日更新关注:
新浪微博!
我们可以先使用这个APPID
(ps: 这是同事的前公司的应用ID)
1、项目设置APPID
商户在微信开放平台申请开发APP应用后,微信开放平台会生成APP的唯一标识APPID。在Xcode中打开项目,设置项目属性中的URL Schemes为您的APPID。
这个我们按照文档做一下就可以了.
2、注册APPID
商户APP工程中引入微信lib库和头文件,调用API前,需要先向微信注册您的APPID,代码如下:
[WXApi registerApp:@"wxd930ea5d5a258f4f];
3、调起支付
商户服务器生成支付订单,先调用【】生成预付单,获取到prepay_id后将参数再次签名传输给APP发起支付。以下是调起微信支付的关键代码:
现在我们只需要在控制器上添加一个button, 名字改成微信支付就可以了
button事件:
每日更新关注:
新浪微博!
4、支付结果回调
按照微信SDKSample,在类实现onResp函数,支付完成后,微信APP会返回到商户APP并回调onResp函数,开发者需要在该函数中接收通知,判断返回错
误码,如果支付成功则去后台查询支付结果再展示用户实际支付结果。注意
一定不能以客户端返回作为用户支付的结果,应以服务器端的接收的支付通知或查询API返回的结果为准。
这是最后一步了, 我们在支付页面支付完成以后呢要知道支付结果, 怎么做呢?
首先, 在AppDelegate.m里面实现该方法
接下来我们需要遵守下协议
每日更新关注:
新浪微博!
最后一步, 就等支付结果出来以后回调一个函数了
这样, 我们就完成了微信支付客户端的代码,了解更多请关注博主微博:
每日更新关注:
新浪微博!
Demo下载地址:https://github.com/XiaoHanGe/WeChatPay.git
ps: 大家工作中写完以后要在真机上测试.
Detect language AfrikaansAlbanian ArabicArmenianAzerbaijani BasqueBelarusian BengaliBosnianBulgarian CatalanCebuanoChichewa Chinese (Simplified)Chinese (Traditional) CroatianCzechDanish DutchEnglishEsperanto EstonianFilipinoFinnish FrenchGalicianGeorgian GermanGreekGujarati Haitian CreoleHausaHebrew HindiHmong HungarianIcelandicIgbo IndonesianIrishItalian JapaneseJavaneseKannada KazakhKhmerKorean LaoLatinLatvian LithuanianMacedonianMalagasy MalayMalayalam MalteseMaoriMarathi MongolianMyanmar (Burmese) NepaliNorwegianPersian PolishPortuguesePunjabi RomanianRussianSerbian SesothoSinhalaSlovak SlovenianSomaliSpanish SundaneseSwahiliSwedish TajikTamilTelugu ThaiTurkishUkrainian UrduUzbekVietnamese WelshYiddishYoruba Zulu
Afrikaans AlbanianArabicArmenian AzerbaijaniBasqueBelarusian BengaliBosnian BulgarianCatalanCebuano ChichewaChinese (Simplified) Chinese (Traditional)Croatian CzechDanishDutch EnglishEsperantoEstonian FilipinoFinnishFrench GalicianGeorgianGerman GreekGujaratiHaitian Creole HausaHebrew HindiHmongHungarian IcelandicIgboIndonesian IrishItalianJapanese JavaneseKannadaKazakh KhmerKoreanLao LatinLatvianLithuanian MacedonianMalagasyMalay MalayalamMalteseMaori MarathiMongolianMyanmar (Burmese) NepaliNorwegian PersianPolishPortuguese PunjabiRomanianRussian SerbianSesothoSinhala SlovakSlovenianSomali SpanishSundaneseSwahili SwedishTajikTamil TeluguThaiTurkish UkrainianUrduUzbek VietnameseWelshYiddish YorubaZulu
Text-to-speech function is limited to 100 characters
版权声明:本文内容由互联网用户自发贡献,版权归作者所有,本社区不拥有所有权,也不承担相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至: 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
用云栖社区APP,舒服~
【云栖快讯】中办国办印发《推进互联网协议第六版(IPv6)规模部署行动计划》加快推进基于 IPv6 的下一代互联网规模部署,计划指出2025年末中国 IPv6 规模要达到世界第一,阿里云也第一时间宣布了将全面提供IPv6服务,那么在全面部署 IPV6 前,你需要了解都在这儿&&
为金融行业提供量身定制的云计算服务,具备低成本、高弹性、高可用、安全合规的特性。帮助金融客户实现从传统IT向云计...
阿里云移动APP解决方案,助力开发者轻松应对移动app中随时可能出现的用户数量的爆发式增长、复杂的移动安全挑战等...
移动测试(Mobile Testing)是为广大企业客户和移动开发者提供真机测试服务的云平台,拥有大量热门机型,...
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本...
订阅广场全新上线
Loading...2015年4月 移动开发大版内专家分月排行榜第二
2015年5月 移动开发大版内专家分月排行榜第三2015年3月 移动开发大版内专家分月排行榜第三2014年10月 移动开发大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。前言:下面介绍微信支付的开发流程的细节,图文并茂,你可以按照我的随笔流程过一遍代码。包你也学会了微信支付。而且支付也是面试常问的内容。
1、首先在开始使用微信支付之前,有一些东西是开发者必须要知道的,打开下面链接:
  然后可以看到下面的页面,这个就是微信支付商户平台的开发文档,很多东西是可以查阅和了解的,在开发使用微信SDK支付功能的时候,遇到了问题也可以到这找找相关须知信息:
  然后,还要告诉读者,点击这个开发文档中的" 支付账户&支付账户 ",然后滚动当前页面到最下面可以看到关于APPID:
  注意:这个APPID是开发中使用微信支付必须要用的东西,而这个APPID也只有商户通过在该微信支付平台注册,花个300元,填写很多相关重要信息,还要上传营业执照等必要手续,才能获取的APPID。
  而商业app应用程序,在客户使用app微信消费,程序会根据这个唯一的APPID,查找到商户,然后把消费者的金额数传递到商户的账户里。
  对开发者的福利:对于开发者,微信支付平台提供了测试的Demo,也在Demo源码中提供了有用的用于测试代码的APPID。这样开发者就除去了花个300元买个APPID的必要性。
2、为了读者能够更便利以及更针对性的学习这个微信SDK的使用过程,本人就建立一个普通的工程,直接在上面简易的使用微信SDK,并完成微信支付。
  点进去之后下载SDK,另外也要把Demo下载下来,可以带你参考学习源码的使用,也可以留着以后进一步的探究:
  在新建的工程里,我们把下载的SDK拖进去,下载的SDK文件中有五个文件,那个read_me.txt可以不用留着工程里,随你喜欢,但是可以打开阅读里面的提示信息:
  我们先打开read_me.txt文件,其实里面就是讲了最近几个版本的更新中解决的问题,以及使用该SDK的注意事项,红色框框起来的部分我在后面的操作中都会用上,SO这个read_me文件很重要的哦。
3、好,我们就按照read_me.txt做一下必须要做的流程:
  Xcode 7版本之后需要导入一下框架和链接库:
  如果是XCode 7之前,估计还需要手动导入Foundation.framework、UIKit.framework等框架。
  接着,按照read_me.txt的提示,我们把那段plist代码拷贝到info.plist文件中:
1 &key&LSApplicationQueriesSchemes&/key&
3 &string&weixin&/string&
4 &/array&
5 &key&NSAppTransportSecurity&/key&
7 &key&NSAllowsArbitraryLoads&/key&
  然后将info.plist文件切换为Property list显示视图,你就会看到多了两项:
  App Transport Security Settings是XCode7以后就需要开发中手动添加设置的,因为iOS9默认限制了http协议的访问。
  LSApplicationQueriesSchemes是可以将要使用的URL Schemes列为白名单,这样当前应用可以使用微信的相关能力(分享、收藏、支付、登录等)。
  最后还有一个操作哦,将微信支付要用到的APPID设置为URL Schemes [英 ski:m]。
4、好,我们可以开始敲代码了:
  我们可以打开微信支付平台下载的Demo程序,可以在它的AppDelegate的源码中找到测试用的APPID:
  然后回到自己建立的工程中,写下了微信支付的流程:
  既然要注册微信,那么我们先到微信SDK的头文件中查看一下,发现只提供了两个注册方法,注释也写的很清楚:
  然后我们导入这个头文件之后,直接根据已经有的APPID进行注册:
  好,其实步骤:1、导入微信支付SDK,注册微信支付。然后2、设置微信APPID为URL Schemes前面已经做好了。
  然后我们需要进行3、发起支付,调其微信支付,在这之前,我们直接看看微信官方提供给我们的Demo:
  最后我们找到了Demo中完整的可以直接用的这部分发起微信支付的源码:
  将这段直接拷贝到我的工程中,有那么一点经验的开发者就会注意到一些,比如Demo源码使用了MRC的autorelease,你可以手动去掉,类方法可以换成实例方法,根据你的实际项目开发需求:
1 - (NSString *)jumpToBizPay {
3 //============================================================
// V3&V4支付流程实现
// 注意:参数配置请查看服务器端Demo
// 更新时间:日
//============================================================
NSString *urlString
= @"http://wxpay.weixin.qq.com/pub_v2/app/app_pay.php?plat=ios";
//解析服务端返回json数据
//加载一个NSURL对象
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString]];
//将请求的url数据放到NSData对象中
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
if ( response != nil) {
NSMutableDictionary *dict = NULL;
//IOS5自带解析类NSJSONSerialization从response中解析出数据放到字典中
dict = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:&error];
NSLog(@"url:%@",urlString);
if(dict != nil){
NSMutableString *retcode = [dict objectForKey:@"retcode"];
if (retcode.intValue == 0){
NSMutableString *stamp
= [dict objectForKey:@"timestamp"];
//调起微信支付
PayReq* req
= [[PayReq alloc] init];
req.partnerId
= [dict objectForKey:@"partnerid"];
req.prepayId
= [dict objectForKey:@"prepayid"];
req.nonceStr
= [dict objectForKey:@"noncestr"];
req.timeStamp
= stamp.intV
req.package
= [dict objectForKey:@"package"];
= [dict objectForKey:@"sign"];
[WXApi sendReq:req];
//日志输出
NSLog(@"appid=%@\npartid=%@\nprepayid=%@\nnoncestr=%@\ntimestamp=%ld\npackage=%@\nsign=%@",[dict objectForKey:@"appid"],req.partnerId,req.prepayId,req.nonceStr,(long)req.timeStamp,req.package,req.sign );
return @"";
return [dict objectForKey:@"retmsg"];
return @"服务器返回错误,未获取到json对象";
return @"服务器返回错误";
  哦,对了,还有一个很简单但很必要的操作忘记展示出来了:
  进一步,我们在微信的SDK源码头文件中,可以找到两个很有用的方法,你也可以在微信支付平台打开开发者文档找到这两个方法的介绍:
  然后我将其运用在我的工程中
  好,就这样,步骤:3、发起微信支付,调起微信 到这里就完成了。
  最后还需要做的就是,处理返回微信支付返回信息,使用了微信知否功能,不管是支付成功和失败,甚至还是用户自己取消支付,都会需要返回当前应用,并返回相关的信息。
  这里就需要用到微信SDK的处理返回信息的代理协议和代理方法了:
  在微信SDK的头文件中,我们可以找到protocol协议:
  好,我们也官方Demo中看看它是如何使用的:
  而我们只需要使用下面红色框框起来的部分代码,直接拷贝拿来使用:
  回到我的简易工程中,直接粘贴在里面用:
  那么这里面的返回信息中主要就有两个东西:resp.errCode错误码 和 resp.errStr错误原因,这两个东西在实际开发中经常遇到,所以也是面试会问到的一个细节。
  接着你可以通过点进连接: 可以在官方开发文档中找到:
  然后,根据实际开发需求,我们可能还需要回传微信app的相关信息:
  在当前AppDelegate.m文件添加一个代理方法:
5、到这里,就完成了整个微信支付的使用流程,下面可以用你的真机进行测试了,因为模拟器不好安装微信。
转载注明出处: ,尊重劳动成果。
最后补充无意发现的大神github上也有微信讲解和源码,大家也可以学习学习:
只不过,对于没有花99美刀买了开发者账户,该github上下载的源码估计不能直接用真机测试,原因是上面的项目实例创建的时间比较早,那时候XCode在没有开发者账户的时候,不支持真机测试。
还有一个大牛写的微信支付的博文,而且就是号写的呢:
阅读(...) 评论()}

我要回帖

更多关于 ios如何微信零钱支付 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信