iOS验证应用商店购买ID由开发人员

时间:2013-07-17 09:20:00

标签: ios objective-c app-store

如何查看用户从订单列表中发送给我的购买ID?

例如,他可以发送类似的内容:M1VYXX7VX7(如他在appstore中的购买列表中所写)并要求退回他的购买(可能是他意外删除了他的应用程序),

但是当我在我的代码中获得订单信息时(通过SKPaymentTransaction),我无法访问该标识符。然后只有ID我看起来像:1000000020706713。

那么有没有办法使用应用商店发送给我的信息验证购买ID?

感谢。

1 个答案:

答案 0 :(得分:7)

在应用程序内购买编程指南中阅读Verifying Store Receipts。根据文件:

  

要验证收据,请执行以下步骤:

     
      
  1. 检索收据数据。在iOS上,这是事务的transactionReceipt属性的值。在OS X上,这是应用程序包内的收据文件的全部内容。使用base64编码对收据数据进行编码。

  2.   
  3. 使用名为receipt-data的单个键和您在步骤1中创建的字符串创建一个JSON对象。您的JSON代码应如下所示:

    {
       "receipt-data" : "(receipt bytes here)"
    }
    
  4.   
  5. 使用HTTP POST请求将JSON对象发布到App Store。商店的网址为https://buy.itunes.apple.com/verifyReceipt

  6.   
  7. 从App Store收到的响应是一个JSON对象,其中包含两个键,即状态和收据。看起来应该是这样的:

    {
        "status" : 0,
        "receipt" : { (receipt here) }
    }
    
  8.         

    如果状态键的值为0,则这是有效收据。如果该值不是0,则此收据无效。

阅读文章了解更多详情。