最近,写项目,再一次使用到了微信支付,和支付宝支付。之前无数次爬坑,
可是每次出现的问题总是不一样,这一次接入支付宝,和微信,一共浪费了两天时间。
总结下,遇到坑的问题所在。
重点标注下——全部都是后台的问题,全部都是后台的。或者是开放平台配置的问题。跟移动端没有毛关系。没有毛关系。
有时候该强硬的时候,一定要强硬起来。不然浪费时间。
微信支付: 调用返回-1,因为之前项目中加了 微信分享,所以确定,签名,报名,开放平台均无错误。所以直接甩锅给后台。
我并没有调(微信支付的代码,是之前项目中拷贝出来的。也能确定没有错误。所以就懒得排查了)-结果后台强硬半个小时,我让他重新生成下key,然后成功。---其实微信支付的坑很多,而且 官方文档也是能简单就简单,深怕你学会了微信支付集成这门神学,所以每次接入微信支付的时候,先拜拜神吧。
支付宝支付:调用返回4000,系统繁忙,请稍后再试;支付宝本身简单的不行的东西,卡了我两天。
因为上次 上上次集成支付宝一次过的,对它没啥印象。所以我很谦虚的给后台说,我们一起排查下吧,
然后各种百度:
可能引起的问题1:
没有在清单文件配置 支付宝的支付H5界面,或者是权限。
2:
安装的sdk 版本太老了,沙箱模式不生效。更换最新的SDK
3:
支付宝开放平台上,申请应用为上线。在审核中,或者申请中,支付是不会成功的。
4:
没有在开放平台上配置参数,很多应用都是之前申请的权限,所以需要更改报名,和shi1签名。
5:
正常情况下,生成的的参数串是需要在后台生成的,如果你把移动端本地能够排查的错误排查一遍,
就多关心下后台给参数就行。直接拿后台的参数串放到支付宝demo上跑。看看是否成功。
6:还是参数,这串参数需要一定规则,前后顺序不能变,各种转义需要注意下。
我排查两天的问题是:
& 符号,被转义了,&
我是debug拿到的json串,放在 工具里看格式,结果工具自动给我转义了格式,所以我看到一只是正确的。
后来我大晚上起来看了一眼,不知道是不是天助我也,尽然让我在密密麻麻的数据中看到这个符号: &
然后手动更改,吊起,并支付成功。