在C#中实施Apple Store Receipt的收据验证

时间:2013-07-26 08:03:10

标签: c# in-app-purchase

我正在尝试为In App Apple Store购买收据实施验证收据。

根据他们的网站看起来像?!?。

我需要知道结构,请你帮我一个加密内容的样本。

你能帮帮我吗?

  

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

     

检索收据数据。在iOS上,这是它的价值   transaction的transactionReceipt属性。在OS X上,这是整个   应用程序包内的收据文件的内容。编码   使用base64编码的收据数据。使用单个创建JSON对象   键名为receipt-data和您在步骤1中创建的字符串。您的JSON   代码应如下所示:

{
     "receipt-data" : "(receipt bytes here)" 
} 

使用HTTP POST请求将JSON对象发布到App Store。商店的URL是

  

https://buy.itunes.apple.com/verifyReceipt。收到的答复   App Store是一个JSON对象,包含两个键,即状态和收据。它   应该看起来像这样:

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

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

  

此收据无效。

1 个答案:

答案 0 :(得分:1)

您可以将商店收据反序列化为类似这样的类:

public class receipt
{
    public string original_purchase_date_pst { get; set; }
    public string original_transaction_id { get; set; }
    public string original_purchase_date_ms { get; set; }
    public string transaction_id { get; set; }
    public string quantity { get; set; }
    public string product_id { get; set; }
    public string bvrs { get; set; }
    public string purchase_date_ms { get; set; }
    public string purchase_date { get; set; }
    public string original_purchase_date { get; set; }
    public string purchase_date_pst { get; set; }
    public string bid { get; set; }
    public string item_id { get; set; }
}

应用程序内购买编程指南的this page的“商店收据”部分中的表5-1具有逐字段细分。希望有所帮助!