支付宝sdk 支付订单查询失败

时间:2021-05-19 17:06:15

最近遇到了一些问题,厂商给我们反馈了一个问题,就是支付宝支付成功之后,旋转屏幕,订单查询失败。后来我怀疑是支付宝的问题,想都不用想是支付宝的问题。

但是自己根本你无法复现,因为我发现支付宝支付完成之后根本无法旋转。

后来我发现一个问题,就是他们的支付宝是全屏的,我的是半屏的。截图如下:

全屏的:

支付宝sdk 支付订单查询失败

半屏的:

支付宝sdk 支付订单查询失败

后来产品告诉我,全屏的是支付宝wap支付,后来我才意识到问题:

问题是这样的:  如果手机上安装了支付宝,那么我们就会吊起支付宝支付,这时候屏幕方向是无法旋转的,如果手机上没有安装支付宝,那么就会走支付宝sdk支付,此时屏幕是可以旋转的,问题出在支付宝sdk,他们没有做屏幕旋转处理,所以,我们需要把屏幕方向固定

所以,我们把支付宝sdk支付的activy设置成竖屏的:

<activity
android:name="com.alipay.sdk.app.H5PayActivity"
android:configChanges="orientation|keyboardHidden|navigation"
android:exported="false"
android:process="@string/plug_process_name"
android:screenOrientation="portrait" />
<activity
android:name="com.alipay.sdk.auth.AuthActivity"
android:configChanges="orientation|keyboardHidden|navigation"
android:exported="false"
android:process="@string/plug_process_name"
android:screenOrientation="portrait" />

在AndroidManifest.xml 里面把这两个activity 的屏幕方向改为android:screenOrientation=”portrait”

果然就是见得少,知道的少,出现问题没有办法知道出在哪里。都没用过支付宝sdk支付,所以,就根本没有意识到这个问题。