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

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

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

RuStoreBillingClient.INSTANCE.getPurchases().purchaseProduct(productId).addOnSuccessListener(paymentResult -> {
    if (paymentResult instanceof PaymentResult.PurchaseResult) {
        String subscriptionToken = ((PaymentResult.PurchaseResult) paymentResult).getSubscriptionToken();
        yourApi.validate(subscriptionToken);
    }
});

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

RuStoreBillingClient.INSTANCE.getPurchases().getPurchases().addOnSuccessListener(purchasesResponse -> {
    for (Purchase purchase : purchasesResponse.getPurchases()) {
        yourApi.validate(purchase.getSubscriptionToken());
    }
});
Was this information helpful?