1、首先在支付宝开发者平台上创建应用,并按照开发者平台上的步骤把SDK接入,配置环境(这些步骤支付宝开发者平台写的很清楚,下面我主要写一些开放平台没有,或者需要注意的地方)
目前创新互联公司已为上千的企业提供了网站建设、域名、雅安服务器托管、绵阳服务器托管、企业网站设计、古雷港网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
2、导入头文件 #import AlipaySDK/AlipaySDK.h (如果报错,则是缺少某些类库或者静态库和头文件路径没有设置好,请仔细查看并按照开放平台的步骤检查,或者看一下这个: )
3、iOS 8.0以下重写下面方法
4、iOS 9.0以上实现下面的方法(也就是说,如果app要兼容iOS 8.0以上,则步骤3和步骤4的方法都要实现)
5、发起支付
注意:为了支付完成后能成功返回app,需要在info.plist文件中设置URL scheme,并且这个值是唯一的(最好填写bundel id 或者开放平台上的app ID),详细步骤在支付宝开放平台的接入文档有
1. 首先确认 openssl 和 Util目录已经添加到Build setting的 header search path中; 2. 奇葩的是即使添加了也会报这个错,纠结了半天, 经测试发现,需要添加以下的库和framework 问题搞定, SB的编译器啊,same folder 这一行前面的勾必须选上去,要不然 #include "头文件" 编译会出现找不到头文件,得将头文件的完整路径给加上去才不会出错。 将header and implementation file shall be in same folder ,在你的Xcode里的header search paths 里添加支付宝SDK(openssl的路径);格式如下 $(PROJECT_DIR)/文件夹名
众所周知。iOS的App会被抽成30%。这个抽成比例还是蛮高的。中小型企业是不一定接受的。
最近。iOS的审核也严格了。二进制文件中只要检测出AliPay的SDK就说你隐藏功能。使用第三方支付。违反进贡协议。
我就因为历史遗留支付宝SDK文件。被归入特别审核行列。马上快1个月了 App审核也没给我通过。
先不管审核是否通过。先来说说在App使用支付宝还避免被苹果抽成吧。
首先。我们的项目肯定要移除支付宝SDK了。然后。在支付宝的开发文档中有一篇说明。如何在微信公众号下使用支付宝支付。已经在微信公众号环境中。估计中国用户是没几个会多此一举的使用支付宝了。
但是这篇说明可以用在我们自己的App上呀。微信环境不给用。我们开发的App可以随便用呀。
App操作流程:我们提供一个服务器端的网页。用来生成支付宝的订单信息。然后跳转到支付宝的支付h5页面。并拉起支付宝App。(亲测有效)。支付完成后回到App。进行后续业务操作。
支付宝API
支付宝附赠的demo有bug,大企业的尿性,需要自己手动修改。
-------------------------------这里是华丽的分割线-------------------------------
如果App内无法拉起支付宝。就打开Safari浏览器 传入路径参数。该操作,App回来的时候不会调用viewDidAppear方法。需要在Controller中注册监听UIApplicationDidBecomeActiveNotification,在监听中调用[super viewDidAppear];方法。
-------------------------------这里是华丽的分割线-------------------------------
比较让人为难的是,支付完毕后,如何优雅的返回我们的App?在alipay SDK中,打开支付宝的链接中有个fromAppUrlScheme参数,这个参数名称通俗易懂,表示来自哪个App的urlScheme。
我们可以使用url decode,查看路径中是否有这个参数,如果没有加入一个试试?这个分割线没有经过测试。
在Apple的文档中,scheme在URL相关的内容中出现过,比如:
紧接着这一段,有如下说明:
详情点击 这里 。可以看出,scheme是URL中 : 之前的部分。
在iOS/macOS/WatchOS 2中,可以利用scheme来标记APP并且通过它进行一些简单的通信。
微信、支付宝、微博等应用的第三方登录、支付、分享功能,都是通过scheme来实现的。下面我们用微信的登录为例,来讲解一下scheme的使用过程。
要使用微信的授权登录功能,首先要去微信开放平台创建一个应用,需要我们填写应用名称、icon和Bundle Identifier,之后微信会把应用的AppId和AppSecret给我们。然后根据AppID集成微信的SDK,并且在URL types里面添加一个以appid为scheme的item。到这里,微信的分享功能就集成完成了。那么,每一步都在做什么呢?
其中,第3步中是否到服务器验证应该可以通过抓包来看到,但是我懒了,没有做。也不影响整体的流程。
因为本人并不是微信的开发人员,以上内容可能会有出入,微信在安全方面做的应该更好。但是,大致的流程应该就是这样。其他平台、功能应该差别也不大。如有错误或者疑问可以在下面留言。
PS: 玩王者荣耀遇到的坑货太多,弄的很郁闷,又无处发泄,我就自己做了一个《举报坑货》的APP,目前只有iOS版本的基本功能,欢迎试玩吐槽。(QQ群:280597764)