接着前面的单次购买和订阅支付,接受app store回调的时候,发现沙盒环境有些时候回调速度比较慢,然后需要做出一些优化,如果按照第二章的逻辑的话,本应该是后端接口监听订阅到账的状态,但是这样做,可能用户体验感不是特别好,购买以后无法及时查看自己购买的产品,我们这边做出的优化是客户手动刷新状态时候,可以发送对应的请求去获取app store 最新的订阅状态,参考文档如下
Apple Developer Documentationhttps://developer.apple.com/documentation/appstoreserverapi/get_all_subscription_statuses这里就要补充一点了,首先请求的参数是originalTransactionId,这个参数叫做原始事务id,是每次交易后都会独自生成一份的,所以需要切记一点,在购买的时候,需要把originalTransactionId和我们对应的订单id和购买人关联起来,后面会用到这个关系。
按照文档的说法,直接去访问这个请求,大概率会出现401未验证的提示,这个时候我们需要在请求头上面携带一个token,这个token 由app store 所规定的jwt去生成,如果不知道jwt是什么的话,可以自行百度一下。