Google Play, Биллинг в приложении, Как принудительно подтвердить подписку сервисной учетной записью - PullRequest
0 голосов
/ 24 апреля 2020

Я создал и опубликовал Android apk с использованием Xamrin-Forms и InAppBillingPlugin .

Одна из моих целей - продажа подписок. Я взял образец, данный Джеймсом Монтемагно, и он хорошо работает с моей тестовой учетной записью, похоже, моя подписка куплена.

Затем я хочу, чтобы моя покупка была подтверждена сервером. Я пошел в «консоль API Google» и создал «учетную запись службы», и я написал некоторый код, который запускает API Google service.Purchases.Subscriptions.Get для запуска service.Purchases.Subscriptions.Acknowledge. Но когда я смотрю на возвращение service.Purchases.Subscriptions.Get, я понимаю, что AcknowledgementState равнялся 1, моя покупка, кажется, была "автоматически подтверждена".

{Google.Apis.AndroidPublisher.v3.Data.SubscriptionPurchase} Google.Apis.AndroidPublisher.v3.Data.SubscriptionPurchase
        AcknowledgementState    1   int?
        AutoRenewing    true    bool?
        AutoResumeTimeMillis    null    long?
        CancelReason    null    int?
        CancelSurveyResult  null    Google.Apis.AndroidPublisher.v3.Data.SubscriptionCancelSurveyResult
        CountryCode "FR"    string
...
}

Если я пытаюсь подтвердить (service.Purchases.Subscriptions.Acknowledge), я иногда получаю:

Code    400 int
Errors  Count = 1   System.Collections.Generic.IList<Google.Apis.Requests.SingleError> {System.Collections.Generic.List<Google.Apis.Requests.SingleError>}
Message "The product purchase is not owned by the user."    string

Но, похоже, это происходит, когда произошло обновление теста.

Я уверен, что скучаю по чему-нибудь, но что?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...