提交此JSON对象作为HTTP POST请求的有效负载。
中文文档:https://help.apple.com/app-store-connect/#/dev7e89e149d
在测试环境中,https://sandbox.itunes.apple.com/verifyReceipt用作URL。
在生产中,https://buy.itunes.apple.com/verifyReceipt用作URL。
国内访问苹果服务器域名速度比较慢,可以使用代理转发
配置代理,先转发到香港再转发到苹果服务器:Nginx(三)------nginx 反向代理 - YSOcean - 博客园
在服务器上,使用以下键创建JSON对象:
receipt-data
The base64 encoded receipt data.
base64编码的收据数据。
passwordOnly used for receipts that contain auto-renewable subscriptions. Your app’s shared secret (a hexadecimal string).
仅用于包含自动续订的收据。应用程序的共享机密(十六进制字符串)。
exclude-old-transactionsOnly used for iOS7 style app receipts that contain auto-renewable or non-renewing subscriptions. If value is true, response includes only the latest renewal transaction for any subscriptions.
仅用于包含自动续订或非续订订阅的iOS7样式的应用收据。如果值为true,则响应仅包括任何订阅的最新续订交易
返回相应结构体 key meaning status 相应状态码 receipt 发送用于验证的收据的JSON表示形式。有关在收据中找到的密钥的信息 latest_receipt 仅针对包含自动续订的收据返回。对于iOS 6样式的交易收据,这是最新续订的以64为基数编码的收据。对于iOS 7风格的应用收据,这是最新的base-64编码的应用收据。 latest_receipt_info 仅针对包含自动续订的收据返回。对于iOS 6样式的交易收据,这是最新续签的收据的JSON表示形式。对于iOS 7风格的应用收据,此键的值是一个包含所有应用内购买交易的数组。这不包括已被您的应用标记为已完成的消耗品交易 latest_expired_receipt_info仅针对iOS 6样式的交易收据返回,用于自动续订。过期订阅的收据的JSON表示形式
is-retryable
重试对此收据进行验证。仅适用于状态码21100-21199 收据详细字段 key meaning bundle_id
捆绑包标识符
application_version 应用程式版本 original_application_version 最初购买的应用程序的版本。 receive_creation_date 应用收据的创建日期。 expiration_date 应用收据到期的日期。 product_id 购买的商品的产品标识符。 transaction_id 购买物品的交易标识符。 original_transaction_id 对于恢复先前交易的交易,原始交易的交易标识符 purchase_date 购买该商品的日期和时间 expires_date 订阅的到期日期,表示为格林尼治标准时间1970年1月1日00:00:00以来的毫秒数 expiration_intent 对于过期的订阅,订阅到期的原因 is_in_billing_retry_period 对于过期的订阅,Apple是否仍在尝试自动续订 is_trial_period 对于订阅,无论是否在免费试用期内。 is_in_intro_offer_period 对于自动续订的订阅,无论它是否处于促销价格期间 cancel_date 对于Apple客户支持取消的交易,取消的时间和日期 cancellation_reason 对于已取消的交易,取消的原因 app_item_id App Store用于唯一标识创建事务的应用程序的字符串 version_external_identifier 唯一标识应用程序修订版的任意数字。 web_order_line_item_id 标识订阅购买的主键。 auto_renew_status 自动续订订阅的当前续订状态。“ 1”-订阅将在当前订阅期结束时续订。
“ 0”-客户已关闭其订阅的自动续订。
auto_renew_product_id 自动续订订阅的当前续订首选项。 price_consent_status 订阅价格上涨的当前价格同意状态。该收据有效,但订阅已过期。当此状态代码返回到您的服务器时,收据数据也会被解码并作为响应的一部分返回。
仅针对自动续订的iOS 6样式交易收据返回。
21007 该收据来自测试环境,但已发送到生产环境以进行验证。而是将其发送到测试环境。 21008 该收据来自生产环境,但是已发送到测试环境以进行验证。而是将其发送到生产环境。 21010 此收据无法授权。就像从未进行过购买一样对待。 21100-21199 内部数据访问错误。注意:同一个apple 苹果账号如果购买过内购订阅的商品,那么请求的验单参数里必须传password共享秘钥,否则会报错21004;同理没有订阅过的苹果账号验单时可不传password参数,传了也可以正常验单,结论:如果开通内购订阅并创建共享秘钥那么默认都传此参数(沙盒环境下,正式环境暂未测试)
分享几个文章:| ProcessOn
返回验单数据结构:IOS 内购IAP 自动订阅收据验证返回结构体_天下皆白_唯我独黑的博客-CSDN博客