onethink接入支付宝APP支付

onethink+安卓+蚂蚁金服SDK最新版(20171229)

app支付快速接入:https://docs.open.alipay.com/204/105297/

配置获取

沙箱环境:https://openhome.alipay.com/platform/appDaily.htm?tab=info

正式环境:https://openhome.alipay.com/platform/detailApp.htm

SDK各个版本下载:

https://docs.open.alipay.com/54/106370/

https://openclub.alipay.com/read.php?tid=2376&fid=60&page=1

https://openclub.alipay.com/read.php?tid=2629&fid=72

一开始用的正式环境,但是客户的APP支付没签约,所以报错很正常,大部分测试都是用的沙箱环境,一开始是报“交易订单处理失败,请稍候再试ALI38173”,官方解释是这样的:


来源:https://openclub.alipay.com/read.php?tid=163&fid=2

我都用官方提供的SDK了,啥都封装好了,只要换成自己的appid、应用密钥、支付宝公钥,都这样了还能有什么问题呢?官方技术是傻子,有问题就发布了?

实在找不到原因,然后百度找到了蚂蚁金服开放平台论坛,旺旺联系上版主“我是个导演”,给他发了请求参数,以及是沙箱环境和appid,然后他告诉我把htmlspecialchars这个函数去掉,我问他为什么,上面不是注释说要干嘛干嘛吗?然后就有了很有意思的解释,原话是这样的:“php有点奇怪,有些同学的环境需要加,有的不需要”,这是什么鬼操作?改了这个后报另一个错了,“系统繁忙,请稍候再试ALI40247”,于是又一番百般搜索,不断是各种方法,最终解决。

致命问题解决方案,APP端加上这段代码就好了:


onethink接入支付宝APP支付_第1张图片
来源:http://blog.csdn.net/z740852294/article/details/77679256(百度“支付宝沙箱环境APP设置”)


一开始我认定是服务端这边的问题(还不是APP那边不台配合/衰),死命百度找解决方案,白白浪费我两三天时间。

再吐槽一下APP支付,返回给一个错误代码有什么用?官方解释说支付失败后有详细的错误原因(详见https://openclub.alipay.com/read.php?tid=250&fid=60),但是我问安卓那边为啥他说没有?到底谁在撒谎?

PS:网上有人说有问题可以直接找技术客服,但是我只找到版主,客服中心进去都是机器人回复,嘛玩意。

特别感谢蚂蚁金服论坛版主“我是个导演”的帮助

你可能感兴趣的:(onethink接入支付宝APP支付)