我目前實現應用內購買的應用程序,我的工作對Windows 8的我們如何在服務器端驗證Windows 8應用內帳單收據?
閱讀documentation後:
- 請求的應用程序的許可證信息: msdn.microsoft.com /en-us/library/windows/apps/windows.applicationmodel.store.licenseinformation.aspx
這就告訴你,如果應用程序是試驗與否,並使用應用程序內購買的產品清單。
- 要執行你需要使用的對象進行購買:
CurrentApp:在實際環境中。這隻適用於商店中應用程序已獲得批准的情況,因此您需要在打包提交到商店之前進行此更改。
CurrentAppSimulator:調試和測試。
2.a.如果你正在運行在試用模式下的應用程序,您購買的應用程序調用: CurrentApp.RequestAppPurchaseAsync(真)
參數請求獲取包含XML,它表示應用程序和應用內的所有收入的任何一個字符串購買。如果includeReceipt設置爲false,則該字符串爲空。
2.b.從您的服務器驗證購買。 Reference
我們想驗證從服務器2.a收到的收據是真實的。要驗證收據的真實性,可以使用公共證書檢查收據的簽名。要獲得此證書,請使用以下URL: go.microsoft.com/fwlink/?LinkId=246509 & cid =其中是收據的CertificateId。
這是從CurrentAppSimulator一個真正的收據:
<?xml version="1.0" encoding="utf-8"?>
<Receipt Version="1.0" ReceiptDate="2012-08-23T14:21:40Z" CertificateId="" ReceiptDeviceId="9d6b1f28-cab8-421f-8f8d-23df2dc3abbe">
<ProductReceipt Id="d9437a12-4f91-4ef0-b0bf-527ab9da2ec9" AppId="Zolmo.JamiesRecipes_40cj6885yhw56" ProductId="JMPK_0004" PurchaseDate="2012-08-23T14:21:40Z" ProductType="Durable" />
</Receipt>
沒有CertificateId,我怎麼能實現服務器端驗證?如何在商店中沒有應用程序的情況下測試所有這些?
感謝, 佩德羅
難道微軟改變了它的Windows應用商店的行爲在應用程序內購買?幾天後,即使使用未從商店加載的應用程序,我也可以購買產品,但是從Visual Studio開始(使用CurrentApp類)? – leuchtdiode 2013-08-14 07:14:13
如何驗證PHP中的收據? – 2013-09-16 08:38:54