RequestProductPurchaseAsync和交易失败

3
我正在尝试为 Windows Phone 8 应用程序实现应用内购买功能。关于 RequestProductPurchaseAsync 的文档并没有专门针对手机的说明。在 Windows Store 的文档中,有这么一句有趣的话:

你应该把成功的结果视为异步处理完成而没有错误的指示。为了确保交易本身成功,请检查返回收据中的 LicenseInformation 元素。

收据中没有 LicenseInformation 元素(或属性)。有 ReceiptProductReceiptSignature。问题是 - 有人之前使用过应用内购买吗?如何报告交易失败/取消?

我也对此感到疑惑。 - PutraKg
我自己没有尝试过,但是在返回的 XML 中难道没有可以使用的东西吗(如 AppReceipt 或 ProductReceipt 元素)?看起来 http://msdn.microsoft.com/en-us/library/windows/apps/hh967814.aspx 不是 MSDN 上最有帮助的页面。 - Paul Annetts
1个回答

2

我拿到了一部真正的手机。

取消操作通过异步完成(参数为InfoStatus)报告,其中Status=AsyncStatus.ErrorInfo.ErrorCode是带有HResult=0x80004005(E_FAIL)的COMException。

至少对于一些真实的交易失败情况(例如,在目录中找不到产品ID),报告的状态和HRESULT是相同的。我认为目前API没有好的方法来捕获取消操作。报告AsyncStatus.Canceled将是一个好主意,但目前还未实现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接