识别测试GooglePlay购买



我有三次不同的订阅购买,持续时间不同。我已经配置了测试帐户,可以进行测试购买。对于这些购买,谷歌不向我收费,但它们看起来很像真实的。当购买成功时,应用内计费会向我发送一些关于我购买的数据,如packageNameproductIdorderIdpurchaseToken等。

在我的处理代码中,我需要知道这次购买是否真实。简单地说:我真的为此赚钱了吗?还是这次购买是由某个测试账户进行的,而我却一无所获?我需要这类信息用于采购会计。

所以问题是:如何区分代码中的真实订阅购买和测试订阅购买?

谢谢。

附言:我正在使用Xamarin和C#进行开发。

如果您的帐户没有添加到Google Play开发者帐户的授权帐户列表中,您可以在alpha/beta版本上进行真正的购买。

检查此项:

有了alpha/beta测试组,真正的用户(由您选择)可以安装从Google Play下载您的应用程序,并测试您的应用内产品。他们可以使用他们在Google Play中的任何正常支付方式进行购买。请注意,如果您在alpha和beta中包含测试许可证帐户通讯组,这些用户将只能进行测试购买。

更新

要知道哪一次购买是真实的,哪一次是测试的,请检查订单ID作为响应。不会为测试采购分配订单ID。

Android IAP问题,采购对象中没有订单ID

在最新的v3 Android Publisher API上,如果您有Package名称、SubscriptionId和Token,则可以获得SubscriptionPurchase对象。SubscriptionPurchase对象包含一个名为purchaseType的可选(可为null)整数字段。根据谷歌的说法,当它被设置并且值为0时,这就是一个测试订阅。我可以确认这是有效的,并且与我得到的数据相匹配。这是谷歌文档中的一句话:

    //     The type of purchase of the subscription. This field is only set if this purchase
    //     was not made using the standard in-app billing flow. Possible values are: 0.
    //     Test (i.e. purchased from a license testing account) 1. Promo (i.e. purchased
    //     using a promo code)

最新更新