Поэтому я действительно не понимаю, что мне делать, если проверка получения на сервере не удалась. Есть ли способ дождаться проверки сервера, чтобы затем принять транзакцию, которая будет взимать плату с пользователя, и сказать мне, что я должен дать ему расходный материал.
Я использую расширение Marmalade «s3eAndroidGooglePlayBilling», которое использует IBAHelper — я нашел там подтверждение, но на самом деле я не знаю Java и не могу найти в документации по Android Billing v3, как оно отменяет транзакцию, если проверка не удалась (например, для покупок в приложении ios). Но также мне нужно сделать проверку на стороне сервера.
Или мне просто проверить на сервере и дать пользователю расходный материал на основе этого? но это кажется плохой идеей, потому что, если сервер не ответил, пользователь уже потратил деньги, но клиент не знает, была ли покупка действительной.
ПРИМЕЧАНИЕ: это не просто вопрос Marmalade, это больше похоже на то, что я должен сделать на клиенте для проверки сервера, чтобы не взимать плату с пользователя, если сервер считает, что квитанция недействительна (потому что я думаю, что могу изменить расширение и используйте его как обычно)
ПРИМЕЧАНИЕ 2: Серверная часть уже реализована, и клиент получает сообщение, действительна ли покупка или нет, но я не знаю, что с этим делать на стороне клиента, чтобы дать пользователю монеты и списать его только после что (если покупка была действительной).