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

Для вызова покупки продукта используйте метод `RustoreBillingClient.purchaseProduct({...})`:

try {
  const response = await RustoreBillingClient.purchaseProduct({
    productId: 'productId',
    orderId: 'orderId',
    quantity: 0,
    developerPayload: 'developerPayload'
  });
  console.log(`purchase success: ${response}`);
catch (err) {
  console.log(`purchase err: ${err}`);
}
  • productId  идентификатор продукта.
  • orderId  идентификатор заказа, создаётся на стороне AnyApp (опционально. Если не указан, то генерируется автоматически).
  • quantity  количество продуктов (опционально).
  • developerPayload  дополнительная информация от разработчика AnyApp (опционально).

Результатом покупки может быть один из следующих интерфейсов: SuccessPayment, CancelledPayment или FailurePayment:

enum PaymentResult {
  SUCCESS = 'SUCCESS',
  CANCELLED = 'CANCELLED',
  FAILURE = 'FAILURE',
}
 
interface SuccessPaymentResult {
  orderId?: string;
  purchaseId: string;
  productId: string;
  invoiceId: string;
  subscriptionToken?: string;
}
 
interface SuccessPayment {
  type: PaymentResult.SUCCESS;
  result: SuccessPaymentResult;
}
 
interface CancelledPaymentResult {
  purchaseId: string;
}
 
interface CancelledPayment {
  type: PaymentResult.CANCELLED;
  result: CancelledPaymentResult;
}
 
interface FailurePaymentResult {
  purchaseId?: string;
  invoiceId?: string;
  orderId?: string;
  quantity?: number;
  productId?: string;
  errorCode?: number;
}
 
interface FailurePayment {
  type: PaymentResult.FAILURE;
  result: FailurePaymentResult;
}
  • SuccessPayment  результат успешного завершения покупки цифрового товара.
  • FailurePayment  результат ошибки покупки цифрового товара.
  • CancelledPayment  результат отмены покупки цифрового товара.
Обновлено 7 августа 2023 г.
Was this information helpful?