IOS7验证了iap收据,in_app文件的含义是什么?

时间:2014-10-28 03:12:12

标签: ios ios7 in-app-purchase

应用程序执行操作,并将收据发送到我的服务器,我的服务器将其发送到苹果服务器以验证收据。

IOS7更改了返回数据。

现在,返回数据如下:

{u'environment': u'Sandbox',                                                 
 u'receipt': {u'adam_id': 0,                                                     
              u'app_item_id': 0,                                                 
              u'application_version': u'1.0',                                    
              u'bundle_id': u'com.mztimes.sanguo.international',                 
              u'download_id': 0,                                                 
              u'in_app': [{u'is_trial_period': u'false',                         
                           u'original_purchase_date': u'2014-10-24 06:54:20 Etc/GMT',
                           u'original_purchase_date_ms': u'1414133660000',   
                           u'original_purchase_date_pst': u'2014-10-23 23:54:20 America/Los_Angeles',
                           u'original_transaction_id': u'1000000128944402',  
                           u'product_id': u'com.mztimes.sanguo.international.60gold',
                           u'purchase_date': u'2014-10-28 01:56:45 Etc/GMT', 
                           u'purchase_date_ms': u'1414461405000',                
                           u'purchase_date_pst': u'2014-10-27 18:56:45 America/Los_Angeles',
                           u'quantity': u'1',                                    
                           u'transaction_id': u'1000000128944402'},              
                          {u'is_trial_period': u'false',                         
                           u'original_purchase_date': u'2014-10-24 06:52:30 Etc/GMT',
                           u'original_purchase_date_ms': u'1414133550000',   
                           u'original_purchase_date_pst': u'2014-10-23 23:52:30 America/Los_Angeles',
                           u'original_transaction_id': u'1000000128944196',  
                           u'product_id': u'com.mztimes.sanguo.international.300gold',
                           u'purchase_date': u'2014-10-28 01:56:45 Etc/GMT', 
                           u'purchase_date_ms': u'1414461405000',                
                           u'purchase_date_pst': u'2014-10-27 18:56:45 America/Los_Angeles',
                           u'quantity': u'1',                                    
                           u'transaction_id': u'1000000128944196'},              
                          {u'is_trial_period': u'false',                         
                           u'original_purchase_date': u'2014-10-28 01:56:45 Etc/GMT',
                           u'original_purchase_date_ms': u'1414461405000',   
                           u'original_purchase_date_pst': u'2014-10-27 18:56:45 America/Los_Angeles',
                           u'original_transaction_id': u'1000000129320617',  
                           u'product_id': u'com.mztimes.sanguo.international.980gold',
                           u'purchase_date': u'2014-10-28 01:56:45 Etc/GMT', 
                           u'purchase_date_ms': u'1414461405000',                
                           u'purchase_date_pst': u'2014-10-27 18:56:45 America/Los_Angeles',
                           u'quantity': u'1',                                    
                           u'transaction_id': u'1000000129320617'}],             
              u'original_application_version': u'1.0',                           
              u'original_purchase_date': u'2013-08-01 07:00:00 Etc/GMT',         
              u'original_purchase_date_ms': u'1375340400000',                    
              u'original_purchase_date_pst': u'2013-08-01 00:00:00 America/Los_Angeles',
              u'receipt_type': u'ProductionSandbox',                             
              u'request_date': u'2014-10-28 02:50:09 Etc/GMT',                   
              u'request_date_ms': u'1414464609873',                              
              u'request_date_pst': u'2014-10-27 19:50:09 America/Los_Angeles',
              u'version_external_identifier': 0},                                
 u'status': 0}   

查看 in_app 字段:文档说明:

  

在JSON文件中,此键的值是一个包含所有应用内购买收据的数组。在ASN.1文件中,有多个字段都具有类型17,每个字段都包含一个应用内购买收据。

在我的许多测试中, in_app 列表的最后一个元素是我发送给苹果服务器的收据信息。 但是其他两个元素是什么?

我发送不同的收据进行验证,其他两个元素始终相同。

为什么这样?救救我!

1 个答案:

答案 0 :(得分:0)

正如doc所说,包含基于输入的base-64收据数据中存在的应用程序内购买交易的所有应用程序内购买收据。另请参阅iOS IAP in_app field in receiptRemoving in app purchases from a new version of the application(iOS)

  

应用内购买收据

     

应用内购买收据。

     

ASN.1字段类型17

     

应用内购买收据属性的ASN.1字段值设置

     

JSON字段名称in_app

     

应用内购买收据的JSON字段值数组

     

在JSON文件中,此键的值是一个包含所有   基于应用内购买交易的应用内购买收据   存在于输入的base-64收据数据中。对于包含的收据   自动续订的订阅,请检查   Latest_receipt_info键以获取最新续订的状态。

     

在ASN.1文件中,有多个字段都具有类型17,   每个都包含一个应用程序内购买收据。

     

注意:空数组是有效的收据。

     

易耗品的应用内购买收据已添加到   购买时的收据。它一直保存在收据中,直到   您的应用完成了交易。之后,将其删除   从收据下一次更新收据开始-例如,   当用户再次购买商品或您的应用明确   刷新收据。

     

非消耗性产品的应用内购买收据,   自动续订,非续订或免费   订阅将无限期保留在收据中。