当前位置: 首页 > 知识库问答 >
问题:

Windows Store In App购买问题“价值不在预期范围内”

斜成济
2023-03-14

当使用命名空间windows.services.store中的storeContext.RequestPurchaseAsync()从WPF桌面应用程序执行应用内购买时,我们会得到一个StorePurchaseResult并带有ExtendedError消息“Value doon not fall not wespected range”。

我们的应用程序已发布,可从Windows商店下载。

它是使用DesktopAppConverter工具转换的。我们根据商店中的描述(标识名、发布者...)设置Manifest.Appx。

在应用程序的代码中,我们声明了IIInitializeWithWindow接口:

[ComImport]
[Guid("3E68D4BD-7135-4D10-8018-9FB6D9F33FA1")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IInitializeWithWindow
{
  void Initialize(IntPtr hwnd);
}

然后,当应用程序启动时,我们使用单用户方式获得StoreContext(存储在storeContext_属性中):

// Init the store context
storeContext_ = StoreContext.GetDefault();
IInitializeWithWindow initWindow = (IInitializeWithWindow)(object)storeContext_;
initWindow.Initialize(System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle);

在此之后,我们设法检索StoreLicense(存储在storeLicense_属性中)并列出关联的store产品,没有任何错误

// Get the current user license
storeLicense_ = await storeContext_.GetAppLicenseAsync();
if (storeLicense_ == null)
{
    MessageBox.Show("An error occurred while retrieving the license.", "StoreLicenseApp Error");
    return;
}

// Create a filtered list of the product AddOns I care about
string[] filterList = new string[] { "Durable" };

// Get list of Add Ons this app can sell, filtering for the types we know about
StoreProductQueryResult addOns = await storeContext_.GetAssociatedStoreProductsAsync(filterList);
if (addOns.ExtendedError != null)
{
    MessageBox.Show("Impossible to retreive the list of the products on the store.\n" + addOns.ExtendedError.Message,
                               "Get Associated Store Products Error");
}
            
private async void PurchaseButton_Clicked(object sender, RoutedEventArgs e)
{
   StorePurchaseResult result = await storeContext_.RequestPurchaseAsync(selectedStoreId);
   
   // Capture the error message for the operation, if any.
   string extendedError = string.Empty;
   if (result.ExtendedError != null)
   {
                   extendedError = result.ExtendedError.Message;
   }
               
               [...]
}

共有1个答案

范金鑫
2023-03-14

下面是使用wscollect.exe收集的应用程序内购买任务类别中的错误日志:

1)已调用消息Windows::Services::Store::StoreContext::RequestPurchaseAsync(9PMRHM0MJ85K)。(CV:+HCSKXR9+UGX7BQ/1.3)函数Windows::Services::Store::StoreContext::RequestPurchaseAsync错误代码-1 Source\StoreContext.cpp行号1194

2)消息:ChkHr(hrGetTicket)函数:Windows::Services::Store::PurchaseOperation::_PromptForPasswordAndEnterOrderWithRetry错误代码:-2147024809源:\PurchaseOperation.cpp行号506

3)消息:ChkHr(_PromptForPasswordAndEnterOrderWithRetry(fPromptForCredentials))函数:Windows::Services::Store::PurchaseOperation::_ProcedToPurchase错误代码:-2147024809源:\PurchaseOperation.cpp行号:630

4)消息:ChkHr(_procedtopurchase(needsToSignIn))函数:Windows::Services::Store::PurchaseOperation::_Purchase错误代码:-2147024809来源:\PurchaseOperation.cpp行号:792

5)消息ChkHr(_HResultofOperation)函数Windows::Services::Store::RequestPurchaseOperation::DoWork错误代码-2147024809 Source\RequestPurchaseOperation.cpp行号115

 类似资料:
  • 我的Windows8应用程序有一个持续存在的问题。

  • 我试图在WinRT Universal APP的必应地图上拟合2个POI,通常是用户位置和任何其他点,这样用户就可以看到两点之间的地图,我有以下代码: 首先,我需要了解一些我做得不好的东西,我正在获取GeoboundingBox构造函数上的System.ArgumentException,这里是stack Trace: 下面是用于测试的坐标: 两个坐标都是正确的,一个是刚刚从gps得到的用户位置,

  • 我必须用C#做一个MetroApp前端。 我有一个OverviewPage,在那里我得到了一个并预览了详细页。我在下面的线程中用屏幕截图对其进行了更详细的描述:WinRT XamlControl预览图像 如果你需要更多的信息-尽管问。

  • 我已经从MSDN下载了Toast通知的示例应用程序。也没用。我写了自己的示例: 而且它在Windows8.1上也不起作用。但它在Windows10上运行得非常好。 当我尝试显示通知时,会触发失败事件。 args.errorCode如下所示:

  • Q:爱客服如何进行购买?价格是多少?各版本的区别? A:您可以通过爱客服后台账户管理系统中的支付中心购买爱客服产品,目前提供多个版本及价格可供选择,爱客服也为企业提供部署版产品,部署版产品可定制化相关功能,您可以联系400 005 0025获取价格。 Q:如何进行续费?长期续费是否有折扣? A:您可以通过爱客服后台账户管理系统中的支付中心进行续费,爱客服支持支付宝在线支付,同样也支持线下付费渠道,

  • 问题内容: 我对Angular.js范围有疑问。 首先,我是Angular的新手,我已经阅读了范围文档,并尽我所能来理解它。我觉得我的问题与此类似: ng-show不符合预期的绑定 但是,我的示例本质上更简单,我仍然不明白我所缺少的内容。 我的html非常简单,我有一个包装所有内容的控制器: 在其中,我有几个部分: 如您所见,我打算在将其应用于控制器时显示该部分。 我的应用程序逻辑如下: sect