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

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

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

PurchasesUseCase purchasesUseCase = billingClient.getPurchases();
purchasesUseCase.purchaseProduct(productId).addOnSuccessListener(paymentResult -> {
    if (paymentResult instanceof PaymentResult.Success) {
        String subscriptionToken = ((PaymentResult.Success) paymentResult).getSubscriptionToken();
        yourApi.validate(subscriptionToken);
    }
});
Также можно получить subscriptionToken в сущности Purchase. Сущность Purchase можно получить используя метод getPurchases():

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