Покупка продукта
Для вызова покупки продукта используйте метод 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?