Xamarin Forms InAppBilling显示购买的生产订阅的待付款

时间:2019-11-14 22:59:38

标签: xamarin.forms in-app-billing subscription

我正在使用Xamarin Forms v4.2和Plugin.InAppBilling v2。

我已从自己的应用购买了订阅,该应用已在GooglePlay上直播。通过代码进行调试时,购买状态为“待付款”,并且已经存在了几天。我已检查银行付款是否正常,一切都已正确处理。我什至收到一封来自Google的确认邮件,说明我的订阅购买情况,还可以在Google Play商店中查看订阅。

这是我的代码:

    public async Task<bool> ValidateSubscriptionAsync()
    {
        var connected = false;
        var billing = CrossInAppBilling.Current;

        try
        {
            connected = await billing.ConnectAsync(ItemType.Subscription);

            if (!connected)
                return false;

            var verify = DependencyService.Get<IInAppBillingVerifyPurchase>();
            var purchases = await billing.GetPurchasesAsync(ItemType.Subscription, verify);

            if (purchases == null)
                return false;

            if (Device.RuntimePlatform == Device.iOS && !VerifySubscriptionReceiptExpiry())
                return false;

            foreach (var purchase in purchases)
            {
                if (purchase.ProductId == Sku)
                {
                    if ((purchase.State == PurchaseState.Purchased) ||
                         (Debugger.IsAttached && purchase.State == PurchaseState.PaymentPending))
                        return true;
                }
            }
        }
        catch (InAppBillingPurchaseException inbex)
        {
            Debug.WriteLine(inbex.Message);
        }
        catch (Exception ex)
        {
            Debug.WriteLine(ex.Message);
        }
        finally
        {
            if (connected)
            {
                await billing.DisconnectAsync();
            }
        }

        return false;
    }

付款待处理状态是否确实出现了问题?正常吗我应该检查所有状态吗?如果有人可以提供一些指导,那将是很大的帮助。

谢谢!

0 个答案:

没有答案