gpt4 book ai didi

iphone - 使用 Curl 验证 App Store 收据时出现 IllegalStateException?

转载 作者:可可西里 更新时间:2023-11-01 03:34:40 24 4
gpt4 key购买 nike

我有一个应用程序内购买,我想验证商店收据。我想通过使用 Apple 的 itunes API 从互联网上的随机机器验证这一点。交易完成后,收据存储在 Parse 中。我正在按照 Apple developer website 上的指南进行操作。首先,我从 Parse 获取交易:

curl -X GET \
-H "X-Parse-Application-Id: [...]" \
-H "X-Parse-REST-API-Key: [...]" \
https://api.parse.com/1/classes/Transactions/123456789

看起来像:

{
"transactionReceipt":{"__type":"Bytes","base64":"asdfqwertyASDFQWERTY="},
"transactionType":"Purchased",
"transactionIdentifier":"[...]",
"transactionDate":{"__type":"Date","iso":"2012-09-10T06:58:44.071Z"},
"createdAt":"2012-09-10T06:58:37.234Z",
"updatedAt":"2012-09-10T06:58:37.234Z",
"objectId":"HyPWJBlWzt"
}

然后我在 transactionReceipt 中获取 base64 值并将其 curl 到 Apple 端点以获取收据:

curl -H "Accept: application/json" \
-H "Content-Type: application/json" \
-X POST
-d '{"receipt-data":"asdfqwertyASDFQWERTY="}' \
https://buy.itunes.apple.com/verifyReceipt

我得到的只是一点帮助:

{"status":21002, "exception":"java.lang.IllegalStateException"}

我认为它对应于“收据数据属性中的数据格式不正确”。使用 --trace-ascii 获取 curl 以转储整个操作并没有揭示任何我认为相关的信息,我确信问题不在于连接本身。

这里有点难过。它看起来确实是在他们的末端找到了交易(调整收据数据中的几个字节会引发 java.lang.IllegalArgumentException),所以我猜它与交易本身有关。有人以前见过这个吗?

谢谢!

最佳答案

我在搜索相同的错误消息后来到这里。我最终解决了这个问题——我能给出的最好建议是仔细检查收据是否有效以及您是否将其发布到正确的 URL。当我使用无效收据(或者可能只是错误的类型 - 它是应用收据,而不是应用内购买收据)时,我得到了你的确切错误,并且在使用发布到'的有效沙盒收据时出现了类似的错误生产'验证网址。

我最初使用的示例收据数据来自 http://images.worldofapple.com/validating_051110.pdf ,在对其进行 uudecoding 并将其重新编码为 base64 之后。我尝试发布到:

两者都给出了相同的错误 {"status":21002, "exception":"java.lang.IllegalStateException"}。我现在怀疑根本原因是这是一张应用收据,而不是应用内购买收据。

然后我从 https://gist.github.com/sauloarruda/2559455 收到了另一个示例收据

https://buy.itunes.apple.com/verifyReceipt我得到了同样无用的回应:{"status":21007}

最后在 https://sandbox.itunes.apple.com/verifyReceipt我得到了预期的响应:

{
"receipt":{"original_purchase_date_pst":"2012-04-30 08:05:55 America/Los_Angeles", "original_transaction_id":"1000000046178817", "original_purchase_date_ms":"1335798355868", "transaction_id":"140610807","1406108007", quantity":"1", "product_id":"com.mindmobapp.download", "bvrs":"20120427", "purchase_date_ms":"1335798355868", "purchase_date":"2012-04-30 15:05:55 Etc/GMT", "original_purchase_date":"2012-04-30 15:05:55 Etc/GMT", "purchase_date_pst":"2012-04-30 08:05:55 America/Los_Angeles", "bid":"com.mindmobapp.MindMob", "item_id":"521129812"}, "status":0}

关于iphone - 使用 Curl 验证 App Store 收据时出现 IllegalStateException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12361770/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com