如何在app中打开支付宝打赏链接进行打赏开发者

苹果将抽成APP内打赏,开发者如何“绕过”?
来源:21世纪经济报道
  苹果正式将“打赏”纳入了其“应用内购买”的范畴之内,这似乎是四月份那场微信下架打赏功能的后续:当时,不少人认为,所谓“打赏”和苹果此前的对于内容购买的定义并不相符。而此次,苹果重新“阐释”了审核规则,以表明自己的态度。
  6月12日,多位知乎专栏创作者收到来自知乎的通知:知乎平台赞赏功能将接入苹果应用内购买,知乎称,未来创作者的打赏收入将被苹果抽取32%。一位接近知乎的人士告诉记者,近期几乎各大平台都收到了来自苹果关于接入应用内购买的提示。
  21世纪经济报道记者从多位开发者处了解到的情况则是,不少开发者仍在试图通过各种方式绕过苹果的抽成。对于大平台而言,这样的做法无疑难度颇高,而且会面临和苹果之间爆发矛盾的风险。
  “打赏”纳入IAP
  近日,苹果正式更改了其App store开发者审核条款。其中尤为重要的一点是,苹果在修改后条款中说明,将“赞赏”直接纳入了“应用内购买(In-App Purchase,简称IAP)。
  这是在苹果强化执行App store条款后,再一次地将“赞赏”这一行为,纳入至苹果应用内购买范畴内。值得注意的是,目前该条款仅仅更新了英文版本,并未更新中文版解释。而一位直播平台人士告诉记者,目前其平台内通过第三方支付、非IAP方式来进行打赏,并未受到影响。
  这场变动最早的焦点起于微信、苹果,最终以微信在iOS客户端放弃打赏功能为终。一位接近知乎的人士告诉记者,在那之后,包括知乎在内的多家平台,接到了来自苹果方面的通知,内容是关于执行苹果此前对于App内购买要求。
  苹果在3.1.1条款中明确表示,包括订阅、购买游戏币、对更高级别内容进行访问等数字内容消费,均需要使用苹果IAP内购方式,此外,苹果还特意强调不得使用外部链接的方式绕过IAP渠道。这一条款的落地,对于知乎这类内容消费产品造成的直接影响,是后续知乎上线了一个名为“知乎币”的功能,引导用户通过内购的形式进行充值。
  记者发现,目前知乎并未完全放弃微信等第三方支付方式:在通过IAP方式支付失败后,知乎App会提示是否通过其它(微信支付)方式支付。
  而将“赞赏”内容明确纳入需要通过IAP渠道支付内容后,也意味着苹果方面正式拥有了对该部分费用进行抽成的解释权。
  上述接近知乎人士告诉记者,此次调整对于知乎最大的影响,来自于知乎自媒体平台的打赏抽成。受其影响的还包括直播平台,但记者发现,包括映客在内的平台,早在此次调整之前,即已经在使用苹果IAP方式支付,因此短期影响似乎不大。
  各怀心事
  如何绕过IAP,一直是苹果和开发者之间的一场“猫鼠”游戏。曾有一位开发者总结出了十余条绕过苹果IAP的方式,从欺骗审核、转换概念、拆分功能等,不一而足。其中不少做法目前仍被一些开发者沿用,目的仍是绕过苹果的抽成。
  21世纪经济报道记者获悉,一家内容分享平台接下来将通过其他方式,来规避苹果强化执行IAP相关条款所带来的影响。其中包括优化产品在微信内的购买环节:当用户将内容链接分享至微信,在微信内打开该链接,即可通过微信支付来完成购买,直接绕过了苹果。
  一位直播行业人士则告诉记者,为了绕过苹果IAP,该公司此前一直采取逃避审核的方式:即在审核过程中按照苹果要求进行设定,实际上架前则对产品进行修改。而在苹果强化对于非IAP方式购买的管理之后,该公司则试图通过H5页面的形式,最终通过第三方支付完成购买。
  但上述人士也坦承,该公司钻了公司交易流水不够高的空子,如果是头部平台,对苹果的规定熟视无睹几无可能。此外一旦被发现,该应用则会直接被苹果下架。“被苹果下架极为繁琐,对方一般不会直接告知你究竟是因为哪一条规定而被下架。”其告诉记者。
  即便是头部平台,目前在落实苹果关于IAP要求方面做法仍是参差不齐,例如记者发现,目前微博问答仍在采取支付宝支付的方式,以实现获得提问和阅读的权限。
  上述“取巧”绕过苹果的方式、以及安卓终端,构成了IAP之外的、避免苹果收取那30%抽成的路径。无论App开发者、苹果抑或是微信,采取的均是有利于自己的选择。
  而从苹果的角度来看,上述所有努力,都是避免自己沦为一家单纯的制造业公司。苹果试图基于硬件来构造自己的用户体系,以支撑更高的想象空间和市盈率。但诸如微信推出“小程序”,无疑加深了苹果对于实现其目标的障碍。
  有趣之处在于,两家巨头公司之间的交锋,是从微信打赏这一并不是特别重要(以打赏在微信平台内的交易流水占比来看)的功能,开启互相之间的试探,腾讯的表现则是迅速撤出了这一战场。接下来,双方之间的交锋会越来越多。
  包括刚刚发布的iOS11在内,苹果一直在强化iMessage的功能。很难说这些举动直接针对的就是微信,但毫无疑问,苹果希望将用户的时间尽可能多地握在自己的手里。
南方网网友
请文明发言,还可以输入140字
本网站由南方新闻网版权所有,未经授权禁止复制或建立镜像> 博客详情
由于公司的业务关系,我们开通了支付宝的支付功能,但是在使用中会产生提现.
由于是半路接手这个项目,之前的做法已经集成了微信 自动绑定了微信,但是支付宝却还是需要用户自己输入账号,用户体验不佳,经过查找支付宝的相关接口,发现可以通过第三方授权方式来完成支付宝账户的绑定.
下面记录一下整个的过程.由于此部分都在服务端操作,顾对已客户端的操作不做具体阐述.
接入过程共调用支付宝以下接口
alipay.open.auth.sdk.code.get
alipay.system.oauth.token
alipay.user.userinfo.share
1. 服务器端完成接口信息的签名,将字符串返回给客户端,客户端通过对应的sdk与支付宝进行交互
SortedMap&String,String & map = new TreeMap&&();
map.put("apiname","com.alipay.account.auth");
map.put("method","alipay.open.auth.sdk.code.get");
map.put("app_id",
支付宝分配给开发者的应用ID);
map.put("app_name","mc");
map.put("biz_type","openservice");
map.put("pid",签约的支付宝账号对应的支付宝唯一用户号,以2088开头的16位纯数字组成);
map.put("product_id","APP_FAST_LOGIN");
map.put("scope","kuaijie");
map.put("target_id",商户标识该次用户授权请求的ID,该值在商户端应保持唯一);
map.put("auth_type","AUTHACCOUNT");
map.put("sign_type","RSA");
String signStr = AlipaySignature.getSignContent(map);
String sign = AlipaySignature.rsaSign(signStr, 私钥, 编码);
System.out.println(getEncodeSignContent(map) + "&sign=" + URLEncoder.encode(sign, 编码));
其中的 &getEncodeSign方法是将map转为string 并且进行 urlEncode
&将最后获取的内容返回给客户端与支付宝进行交互获得如下内容:
result= "success=true&auth_code=xxxxxxxx&result_code=200&alipay_open_id=xxxxxx&user_id=xxxxxx";
至此,第一步完成.
2.通过刚刚获取的auth_code与支付宝交换accesstoken
AlipayClient alipayClient = new DefaultAlipayClient("/gateway.do", APP_ID,自己设置的私钥,"json","GBK",支付宝公钥,"RSA");
AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest();//创建API对应的request类
request.setGrantType("authorization_code");
request.setCode(刚刚获取的auth_code);
AlipaySystemOauthTokenResponse response = alipayClient.execute(request);//通过alipayClient调用API,获得对应的response类
System.out.print(response.getBody());
&运行后获得以下内容:
{"alipay_system_oauth_token_response":{"access_token":"kuaijiexxxxx","alipay_user_id":"xxxxxxxx","expires_in":1209600,"re_expires_in":,"refresh_token":"xxxxxxxx","user_id":"0845"},"sign":"xxxx"}
至此,我们获得了对应的accesstoken,下面进行第三布获取用户的个人信息
3.根据accesstoken获取用户信息
AlipayClient alipayClient = new DefaultAlipayClient("/gateway.do", AlipayConfig.APP_ID,私钥, "json", "UTF-8", 支付宝公钥, "RSA");
//获得初始化的AlipayClient
AlipayUserUserinfoShareRequest request = new AlipayUserUserinfoShareRequest();//创建API对应的request类
AlipayUserUserinfoShareResponse response = alipayClient.execute(request, "xxxxxxx");//在请求方法中传入上一步获得的access_token
System.out.print(response.getBody());
&运行后获得以下内容
"alipay_user_userinfo_share_response": {
"user_type_value": "2",
"is_licence_auth": "F",
"is_certified": "T",
"is_certify_grade_a": "T",
"avatar": "https://b0XXXXXXXXX",
"city": "泰州市",
"is_student_certified": "F",
"area": "海陵区",
"is_bank_auth": "T",
"is_mobile_auth": "T",
"nick_name": "清清",
"alipay_user_id": "xxxxx",
"user_id": "xxxxx",
"province": "江苏省",
"user_status": "T",
"gender": "m",
"is_id_auth": "T"
"sign": "xxxx8MdeFrr20ymvwtnMUPaPAw7JSy8J383LT9FxP5DBEIdh9GKh1GPZ1E="
此处有个问题,对于页面文档中的字段会有很多,但是此处获取的信息会少很多,具体的在等待支付宝的回复.
其中用的都是RSA加密,由于在支付宝后台没有设置RSA2的秘钥,如果使用RSA2请先配置RSA2的秘钥信息.&
人打赏支持
码字总数 23897
哪儿有刷新令牌... 这东西配置了一次就没用了 你方便说一下具体的地方么 我好找找看
支付宝支付
微信扫码支付
打赏金额: ¥
已支付成功
打赏金额: ¥

我要回帖

更多关于 支付宝打赏链接 的文章

 

随机推荐