Покупка продукта

Для вызова покупки продукта используйте метод purchaseProduct: 

PurchasesUseCase purchasesUseCase = billingClient.getPurchases();
purchasesUseCase.purchaseProduct("productId").addOnCompleteListener(new OnCompleteListener<PaymentResult>() {
    @Override
    public void onFailure(@NonNull Throwable throwable) {
        // Process error
    }
 
    @Override
    public void onSuccess(PaymentResult paymentResult) {
        // Process PaymentResult
    }
});
  • productId: String — идентификатор продукта;
  • orderId: String — идентификатор заказа, создаётся на стороне AnyApp (опционально. Если не указан, то генерируется автоматически); 
  • quantity: Int — количество продуктов (опционально);
  • developerPayload — дополнительная информация от разработчика AnyApp (опционально). 

Структура результата покупки:

interface PaymentResult {
     
    interface Success extends PaymentResult {
        @Nullable
        public String getOrderId();
         
        public String getPurchaseId();
         
        public String getProductId();
 
        public String getInvoiceId();
         
        @Nullable
        public String getSubscriptionToken();
    }
     
    interface Failure extends PaymentResult {
        @Nullable
        public String getPurchaseId();
         
        @Nullable
        public String getInvoiceId();
         
        @Nullable
        public String getOrderId();
         
        @Nullable
        public Integer getQuantity();
         
        @Nullable
        public String getProductId();
 
        @Nullable
        public Integer getErrorCode();
    }
 
    interface Cancelled extends PaymentResult {
        public String getPurchaseId();
    }          
 
    interface InvalidPaymentState extends PaymentResult {}
}
  • Success — результат успешного завершения покупки цифрового товара;
  • Failure — результат ошибки покупки цифрового товара;
  • Cancelled — результат отмены покупки цифрового товара;
  • InvalidPaymentState — ошибка работы SDK платежей. Может возникнуть, в случае некорректного обратного deeplink.
Обновлено 13 июня 2023 г.
Was this information helpful?