RequestProductPurchaseAsync和事务失败

时间:2013-04-09 18:37:43

标签: windows-phone-8 in-app-purchase windows-store-apps windows-store

我正在尝试为Windows Phone 8应用实施应用内购买。 RequestProductPurchaseAsync的文档并不专门针对手机而存在。在Windows应用商店文档中,有一个有趣的界限:

  

您应该将成功结果视为指示异步过程   完成没有错误。确保交易本身   成功后,检查返回的LicenseInformation元素   收据。

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

1 个答案:

答案 0 :(得分:2)

抓住真正的手机。

取消由异步完成(参数InfoStatus)报告,Status = AsyncStatus.Error,Info.ErrorCode为COMException,HResult = 0x80004005(E_FAIL)。

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