Как обрабатывать отмены покупок в приложении iOS (Flutter)IOS

Программируем под IOS
Ответить
Гость
 Как обрабатывать отмены покупок в приложении iOS (Flutter)

Сообщение Гость »

Когда пользователь завершает транзакцию (используя пакет покупок в приложении от Flutter), я знаю, что мне нужно позвонить:

Код: Выделить всё

.completePurchase(Purchase)
Однако, когда пользователю предлагается приобрести товар, и он отменяет его, должен ли я также вызывать CompletePurchase?
Я' Я спрашиваю об этом, потому что если пользователь затем попытается снова купить тот же непотребляемый продукт в том же сеансе приложения (приложение не было закрыто), появится следующий вывод:

Код: Выделить всё

[VERBOSE-2:ui_dart_state.cc(177)] Unhandled Exception: PlatformException(storekit_duplicate_product_object, There is a pending transaction for the same product identifier. Please either wait for it to be finished or finish it manually using completePurchase to avoid edge cases., {applicationUsername: null, requestData: null, quantity: 1, productIdentifier: 1, simulatesAskToBuyInSandbox: true}, null)
Каково решение проблемы, когда:

Код: Выделить всё

purchases[0].status == PurchaseStatus.canceled
?
Когда я вызываю .completePurchase(Purchase) для отмененной транзакции, кажется, что все работает нормально, а это означает, что пользователь может снова попытаться купить не- расходный продукт. Но я не уверен, что это правильный способ справиться с этой ситуацией

Источник: https://stackoverflow.com/questions/779 ... os-flutter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»