十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
iOS支付分为两类, 第三方支付 和 应用内支付(内购) 。
创新互联服务项目包括双清网站建设、双清网站制作、双清网页制作以及双清网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,双清网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到双清省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
第三方支付包括:支付宝支付、微信支付、银联支付、百度钱包、京东支付等等。
应用内支付(In-App Purchase):在应用程序内购买虚拟商品。如果你在App Store上销售的应用程序,将收到支付金额的70%。
有些第三方支付没有安装客户端,可以直接弹出网页进行支付。(比如支付宝)
手机中安装了客户端可以跳转到APP中进行支付。微信支付只能调用App进行支付。
SDK里有集成支付宝功能的一个Demo,集成支付功能的具体操作方式,可以参考Demo。
参考文档地址:
;treeId=59articleId=103676docType=1
需要提供公司资质或者营业执照,个人无法申请。
在应用程序内购买虚拟商品。如果你在App Store上销售的应用程序,将收到支付金额的70%。
苹果支付是一种在应用内运行的具有隐秘性和安全性非接触式的支付方式。它允许触摸付款,你可以用来购买实体商品和服务。
Apple 不会存储或共享客户的实际信用卡和借记卡卡号,因此商家和 App 开发者无需负责管理和保护实际的信用卡和借记卡卡号。
除了使用 PassKit 框架实施 Apple Pay 之外,您还必须:
不得不说可怕的苹果爸爸,因为内购被拒后,然后用了H5支付。
H5支付只需要在webView上面去loadRequest就行了,不过有2个开发中遇到的问题。网上找的答案。
当然在支付完成之后是不会跳到你自己的app 的那么现在该怎么办呢?
网上有说给通知然后点通知跳入你的app,当然可行,但是不炫酷。
下面有一个方法:
就需要我们app 在info.plist文件里面操作一波。
这个是怎么设置的呢?请看下面的连接:
然后此时把这个URL Schemes的字符串给写H5的前端的工程师就行了。
请集合下面的连接进行自我发挥
;utm_medium=referral
网上有很多资料,我只是个搬运工。希望可以帮助到大家。
-- 涛胖子的工作笔记
即可打印出来你的app中包含的ios的function
检查下这里面有没有需要屏蔽的关键词
通过这个方式把该改的名字都换掉
1.首先是最常见的微信订单号重复的问题,这里做的操作就是在拿到服务器的订单号之后,APP端随机在后边追加两个字符串,这样就可以避免这个问题.
2.如果服务器生成的订单号过长的话也会调起失败,返回:订单号长度错误.
3.第三个问题相对于前两个来说比较隐蔽,刚跳转到第三方支付之后,不在第三方如:微信,支付宝做任何操作,然后通过双击home键或者点击左上角的方式返回自己的应用,这时候是收不到任何的回调,这样造成的结果就是程序界面仍然停留在收银台页面,这样用户继续点击就会造成重复下单的BUG,是一个比较麻烦的问题.初步想到的解决办法即时性的都不能解决.最后想到了一个稍微讨巧的办法,首先如果这个程序是通过支付跳转到第三方的,就加一个布尔值apinPayGO,当程序从后台进入前台时就发出通知,.经过实际测试,支付的回调实在系统的运行方法之后的,收银台页面在接收到该通知之后,延迟一秒执行方法,判断系统这次从后台进入前台是否经过了支付第三方的回调方法,如果经过了支付第三方的回调方法就不做任务操作,如果没经过第三方的回调方法,证明用户在跳转到第三方时没做任务操作,直接通过iOS系统返回到自己的应用了,这里就把页面跳转到待支付页面,然后开始倒计时!
- (void)applicationWillEnterForeground:(UIApplication*)application{
NSLog(@"EnterForeground");
if(self.apinPayGO) {
NSNotificationCenter*center = [NSNotificationCenterdefaultCenter];
[centerpostNotificationName:@"payReturn"object:nil];
}
}
4.创建订单,支付中间的时间控制问题.
用户点击创建订单,服务器设置一个超时时间十分钟,需要用户在十分钟内完成支付,直接去操作是没什么问题.但是如果不直接操作,第三方的支付超时时间跟服务器订单储存的超时时间不同步,可能出现的情况就是:服务器这边订单已经失效了,但是第三方支付仍可以支付,出现bug.有个预想的处理方法是:支付前进行查询订单操作,服务器返回一个超时时间,然后进行第三方支付时把这个超时时间设置过去.但是在做的过程中又遇到了新的问题:第三方支付的超时时间有限制,支付宝是1min~15d,微信是要大于五分钟.
解决方案: 创建订单 跟调第三方支付创建订单 同时进行,然后第一次支付的时候设置超时时间.
一,iOS端开发。
如果购买成功,我们需要将凭证发送到服务器上进行验证。考虑到网络异常情况,iOS端的发送凭证操作应该可以持久化,如果程序退出,崩溃或网络异常,可以恢复重试。
二,服务器端开发。
服务器后台的工作比较简单,分为4步:
1,接收iOS端发来的购买凭证。
2,判断凭证是否已经存在,是否验证过,然后,存储该凭证。
3,将该凭证发送到苹果的服务器验证,并将验证结果返回给客户端。
4,如果需要,修改用户相应的会员权限。
考虑到网络异常的情况,服务器的验证应该是一个可恢复的列队,如果失败了,应该进行重试。
目录: Cocos creator ios开发-接入微信SDK系列文章
这是官方文档: app微信支付开发文档
第一步、
先接入微信SDK,请参考 Cocos creator ios开发—接入微信SDK
第二步、
在Xcode的Info的设置项中,URL Types 的URL Schemes填写APPID
在AppController.h中添加接口:
app启动时,注册APPID,在AppController.mm中的didFinishLaunchingWithOptions方法中调用
第三步、
向oc发送支付信息
第四步、
oc收到支付信息,发起支付