Серверная валидация покупки

Если вам необходимо произвести валидацию успешной покупки на сервере, вы можете использовать subscriptionToken в PurchaseResult, возвращаемой purchaseProduct при успешной покупке продукта.

SubscriptionToken состоит из invoiceId покупки и userId RuStore, записанных через точку: «$invoiceId.$userId».

Получение subscriptionToken из результата покупки

val purchasesUseCase: PurchasesUseCase = billingClient.purchases
purchasesUseCase.purchaseProduct(productId).addOnSuccessListener { paymentResult ->
    if (paymentResult is PaymentResult.Success) {
        val subscriptionToken = paymentResult.subscriptionToken
        yourApi.validate(subscriptionToken)
    }
}

Также можно получить subscriptionToken в сущности Purchase. Сущность Purchase можно получить используя метод getPurchases():

Получение subscriptionToken из результата покупки

 

val purchasesUseCase: PurchasesUseCase = billingClient.purchases
purchasesUseCase.getPurchases().addOnSuccessListener { purchases ->
    purchases.forEach { purchase ->
        yourApi.validate(purchase.subscriptionToken)
    }
}
Обновлено 21 октября 2023 г.
Was this information helpful?