2013-07-26 70 views
0

我正在嘗試爲In App Apple Store購買收據實施驗證收據。在C#中執行Apple Store收據的收據驗證

根據他們的網站,它看起來像?!?。

我需要知道結構,你能幫我一下加密的樣本。

你能幫我嗎?

要驗證的接收,執行以下步驟:

檢索收據數據。在iOS上,這是事務的transactionReceipt屬性的值。在OS X上,這是應用程序包內收據文件的整個 內容。使用base64編碼編碼 收據數據。與單一命名收據數據 鍵,就可以在步驟1中創建的字符串你的JSON 代碼看起來應該像這樣創建一個JSON對象:

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

郵政JSON對象到App Store使用HTTP POST請求。該商店的網址爲

https://buy.itunes.apple.com/verifyReceipt。從App Store的 收到的響應是一個帶有兩個密鑰,狀態和收據的JSON對象。它 應該是這個樣子:

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

如果狀態鍵的值是0,這是一個有效的收據。如果值不是0,則

此收據無效。

回答

1

可以反序列化商店收據到這樣一類:在的應用程序內購買編程指南this page的購買發票部分

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; } 
} 

表5-1有現場通過場打破。希望有所幫助!

+0

這是一個較舊版本的字段值(例如,「bid」不是該名稱的一部分)較新的收據格式,但對於仍然發送/使用較舊格式收據的應用程序仍然非常方便(我們仍然有幾個未觸及過的古代...)新的應用程序可能需要新的「統一收據」模式。 –