none
windows商店返回的Receipt没有ProductReceipt RRS feed

  • 问题

  • 通过这个CurrentApp::RequestProductPurchaseAsync(product_id_rt)购买,能够正确的付钱,显示的IAP也是正确的,但是收到的Receipt没有Product信息,无法验证,再次进入游戏进行的GetUnfulfilledConsumablesAsync  请求,(如果应用商店没有登录的话,这个会直接报异常),在currentTask.get()的时候,会报Json值为找到的异常,而导致游戏闪退。整个号都废了

    .then([](task<IVectorView<UnfulfilledConsumable^>^> currentTask)
    {
    try {
    auto unconsumable_list = currentTask.get();

    该怎么解决呢

    补充:工程是win8.1,开发环境是win10

    我们Winphone是先上线的,成功发布了的,手机上微软支付也能够正常的使用,所以移植Windows的时候就直接使用了CurrentApp,现在Windows版也已经发布了,但是支付还是这个问题。由于有错误的订单,导致我的微软账号已经不能够测试了,在GetUnfulfilledConsumablesAsync的时候就Crash了

    • 已编辑 星魂之坠 2015年12月15日 11:41 问题补充
    2015年12月14日 8:21

答案

  • 您好,

    鉴于你这个问题,由于在开发部分所能定位的问题,也仅限于微软所提供的那些API,而按你描述的情况,在windows商店才出现问题,代码也都是共用的,导致这个问题的原因很有可能是在商店那端,这样的话开发者论坛也没有切实可行的办法,我建议你用微软的付费电话支持,你可以得到一对一的服务,请注意:如果最终确认这个问题是微软导致的,您的服务是免费的。

    这是链接:MS Support 你需要登陆你的微软账号。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年12月16日 1:58
    版主

全部回复

  • 代码看不出什么问题,有考虑过网络的问题吗?是否切换过其他网络试过?

    应用商店没有登陆的话,应该连购买都不可以吧,更不用说获取购买收据了。

    2015年12月15日 5:28
  • 您好,

    首先,调用RequestProductPurchaseAsync这个方法成功后,会返回一个PurchaseResults 类型的值,这里我不知道你所说的“正确付钱”意味着怎样的一种情形,是已经付款给微软了吗?还是你的意思只是调出了付款界面?

    其次,调用GetUnfulfilledConsumablesAsync这个方法,在没有登陆商店的情况下出现异常,那登陆后会出现异常吗?


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年12月15日 5:57
    版主
  • “正确付钱”是已经跳转到支付宝完成了支付,最后微软页面提示了购买成功。PurchaseResults 状态是Success,但是Receipt中没有<ProductReceipt /> 这个标签。

    在应用商店程序登录了账号后,GetUnfulfilledConsumablesAsync不会出现异常,但是如果这个账号带有错误的订单就会报错,Json值未找到,

    2015年12月15日 11:27
  • 不是网络问题,不登录确实不能购买,但是不应该crash
    2015年12月15日 11:29
  • 您好,

    鉴于你这个问题,由于在开发部分所能定位的问题,也仅限于微软所提供的那些API,而按你描述的情况,在windows商店才出现问题,代码也都是共用的,导致这个问题的原因很有可能是在商店那端,这样的话开发者论坛也没有切实可行的办法,我建议你用微软的付费电话支持,你可以得到一对一的服务,请注意:如果最终确认这个问题是微软导致的,您的服务是免费的。

    这是链接:MS Support 你需要登陆你的微软账号。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年12月16日 1:58
    版主
  • 买完lookup一下active就行了,不用验证什么receipt,不过我这里可以获取到Product信息。但有时候连app信息都获取不到的,估计是网络问题,靠获取receipt判断容易误判,购买用户会怒的。


    • 已编辑 Exilerrr 2015年12月16日 4:15
    2015年12月16日 4:12
  • 注意,Receipt不是用来“验证”的,Receipt是让你在多台机器上同步购买结果的。举个例子,比如用户在A设备上购买了游戏装备,那么在B设备上通过查询Receipt来同步,否则会造成重复购买。
    网络游戏,必须要通过Receipt来进行二次认证, 楼主是指收到receipt里面的信息不是完整的信息?

    2015年12月16日 9:16
  • 注意,Receipt不是用来“验证”的,Receipt是让你在多台机器上同步购买结果的。举个例子,比如用户在A设备上购买了游戏装备,那么在B设备上通过查询Receipt来同步,否则会造成重复购买。

    网络游戏,必须要通过Receipt来进行二次认证, 楼主是指收到receipt里面的信息不是完整的信息?

    是的,Receipt信息不完整。
    2015年12月16日 9:41
  • 那你获取到的Receipt信息是怎么样?
    上面那些都没?
    
    
    
    
    
    

    2015年12月16日 12:09
  • 那你获取到的Receipt信息是怎么样?
    上面那些都没?
    
    
    
    
    

    是的,没有你选中的部分

    2015年12月17日 3:40
  • 您好,

    鉴于你这个问题,由于在开发部分所能定位的问题,也仅限于微软所提供的那些API,而按你描述的情况,在windows商店才出现问题,代码也都是共用的,导致这个问题的原因很有可能是在商店那端,这样的话开发者论坛也没有切实可行的办法,我建议你用微软的付费电话支持,你可以得到一对一的服务,请注意:如果最终确认这个问题是微软导致的,您的服务是免费的。

    这是链接:MS Support 你需要登陆你的微软账号。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    但是这个网站在选择类型后提示“the page you requested is not available”

    2015年12月17日 4:13
  • 那次接受的Receipt当作验证不通过...下次登陆/或者再次购买的时候通过 GetUnfulfilledConsumablesAsync再询问有没有没有没通知微软的订单,然走一遍下单流程...

    "再次进入游戏进行的GetUnfulfilledConsumablesAsync  请求,(如果应用商店没有登录的话,这个会直接报异常),在currentTask.get()的时候,会报Json值为找到的异常,而导致游戏闪退。整个号都废了"

    应用商店没登陆的话.不可能下载到你上架的游戏,而且也支付购买不了,不可能出现你括号的内容吧,即使在另外一台设备上购买,另一台也得登陆后才能下载应用游戏.

    "由于有错误的订单,导致我的微软账号已经不能够测试了,在GetUnfulfilledConsumablesAsync的时候就Crash了" 这里的错误订单是指什么?

    2015年12月17日 7:23
  • 那次接受的Receipt当作验证不通过...下次登陆/或者再次购买的时候通过 GetUnfulfilledConsumablesAsync再询问有没有没有没通知微软的订单,然走一遍下单流程...

    "再次进入游戏进行的GetUnfulfilledConsumablesAsync  请求,(如果应用商店没有登录的话,这个会直接报异常),在currentTask.get()的时候,会报Json值为找到的异常,而导致游戏闪退。整个号都废了"

    应用商店没登陆的话.不可能下载到你上架的游戏,而且也支付购买不了,不可能出现你括号的内容吧,即使在另外一台设备上购买,另一台也得登陆后才能下载应用游戏.

    "由于有错误的订单,导致我的微软账号已经不能够测试了,在GetUnfulfilledConsumablesAsync的时候就Crash了" 这里的错误订单是指什么?

    就是在第一次购买的时候返回正确收据(没有ProductReceipt)的订单。

    2015年12月17日 10:42