我在验证服务器端的苹果收据时遇到问题。 我试图在互联网上找到解决方案,但没有成功。苹果应用程序内购买收据 - 在服务器端进行验证
所以,说明: 首先,应用程序是为iOS7制作的。其次,我有几个项目(type = Non-Renewing Subscription)。所以用户可以购买一个或多个物品,然后他应该手动更新它们(再次购买)。
应用程序发送一个收据到服务器端,我向苹果发送一个请求,并得到很多 in_app收据的结果。例如:
"in_app":[
{
"quantity":"1", "product_id":"...", "transaction_id":"...",
"original_transaction_id":"...", "purchase_date":"...",
"purchase_date_ms":"...", "purchase_date_pst":"...",
"original_purchase_date":"...",
"original_purchase_date_ms":"...", "original_purchase_date_pst":"...",
"is_trial_period":"..."},
{
"quantity":"1", "product_id":"...",
"transaction_id":"...","original_transaction_id":"...",
"purchase_date":"...", "purchase_date_ms":"...",
"purchase_date_pst":"...", "original_purchase_date":"...",
"original_purchase_date_ms":"...", "original_purchase_date_pst":"...",
"is_trial_period":"..."}
]
因此,“in_app”中的每个“收据”都有transaction_id。但是,我如何识别当前购买的交易ID?我想验证它,并确保这是独一无二的。
我担心的是:如果有人能得到一个有效的收据,他将能够破解我们的服务器端API,并使用相同的有效收据进行无限数量的应用内购买。
我是否应该以某种方式解密并检查transaction_id中的“原始”收据,即我发送给Apple进行验证的收据?
任何帮助/建议将不胜感激。 预先感谢您。
问候, 马克西姆
LOL我只是问同样的问题男人..我意外地发现这一点,看到你问了这个8小时前...这只是sux,我也没有线索也该怎么办所有这些收据...... – Adrian
我想在这里做同样的检查。我希望有人看到并回答它! :\ – Adrian
我认为关键是在* app *端获取当前购买的交易ID并将其与收据一起发送到服务器。您可以从事务对象获取应用程序端的事务ID。 –