Покупка продукта
Для вызова покупки продукта используйте метод RustoreBillingClient.purchase(id):
RustoreBillingClient.purchase(id).then((response) { print( "purchase success: $response" ); }, onError: (err) { print( "purchase err: $err" ); }); |
- id — идентификатор продукта.
Структура результата покупки PaymentResult:
class PaymentResult { SuccessInvoice? successInvoice; InvalidInvoice? invalidInvoice; SuccessPurchase? successPurchase; InvalidPurchase? invalidPurchase; } |
Структура SuccessInvoice:
class SuccessInvoice { String invoiceId; String finishCode; } |
Структура InvalidInvoice:
class InvalidInvoice { String? invoiceId; } |
Структура SuccessPurchase:
class SuccessPurchase { String finishCode; String? orderId; String purchaseId; String productId; } |
Структура InvalidPurchase:
class InvalidPurchase { String? purchaseId; String? invoiceId; String? orderId; int? quantity; String? productId; int? errorCode; } |
- SuccessInvoice — платежи завершились с результатом;
- InvalidInvoice — платежи завершились без указания инвойса. Вероятно, они были запущены с некорректным инвойсом (пустая строка, например);
- SuccessPurchase — результат успешного завершения покупки цифрового товара;
- InvalidPurchase — при оплате цифрового товара платежи завершились c ошибкой.
Возможные статусы, которые может содержать finishCode:
- SUCCESSFUL_PAYMENT — успешная оплата;
- CLOSED_BY_USER — отменено пользователем;
- UNHANDLED_FORM_ERROR — неизвестная ошибка;
- PAYMENT_TIMEOUT — ошибка оплаты по таймауту;
- DECLINED_BY_SERVER — отклонено сервером;
- RESULT_UNKNOWN — неизвестный статус оплаты.
Обновлено 20 июня 2023 г.
Was this information helpful?