苹果官方文档上说:
要从设备上的 app 检索收据数据,请使用 NSBundle(英文) 的 appStoreReceiptURL(英文) 方法来找到 app 的收据,再对该数据进行 Base64 编码。接着将这个以 Base64 编码的数据发送到您的服务器。
意思是,客户端拿到收据receipt数据后,要进行Base64加密后,发给服务器,然后服务器再向App Store进行验证,但是客户端拿到的收据数据其实是已经加密过的,再次加密就会收到 App Store 返回的21002错误码
附:
官方文档地址