2012-06-25 5 views
0

Во время наших усилий по разработке InApp Billing для нашего приложения для Android мы пришли к следующему сценарию;Проблемы с безопасностью биллинга в приложении Android?

  1. Клиента коренится/манипулируемое устройство (так Market приложения + мое приложение не может быть доверенным)
  2. Клиента покупает продукт
  3. состояние Покупки 0 (приобретается), посылают в наш бэк-офис (все проверено и хорошо), мы даем кредиты.
  4. Клиент возмещает покупку
  5. Клиент применил наше приложение или приложение на рынке, чтобы локально подтвердить возврат и тем самым предотвратить уведомление о возврате на наш сервер backoffice.

Возможно ли это? Как мы можем это исправить?

enter image description here

ответ

0

Во-первых: если пользователь запрашивает возврат вы получаете также по электронной почте.

Во-вторых: покупки по фактурированию в приложении не подлежат возврату непосредственно пользователем. Если пользователь хочет получить возмещение, он должен связаться с вами, а затем вы можете перейти вручную, чтобы вернуть свою учетную запись в кошельке Google.

Так что я думаю, что ваш сценарий не произошел.

Во-вторых, если возможно, я предлагаю вам использовать управляемые покупки, в этом случае, если пользователь запросит возврат средств, рынок Google запомнит его, и вы можете использовать RESTORE_TRANSACTION, чтобы проверить, произошли ли какие-либо возмещение (но опять же: вы должны предоставить возмещение).

+0

Спасибо за ваш повтор. Невозможно продать управляемые товары, потому что пользователи могут покупать товар несколько раз. Но вы упомянули, что электронное письмо будет отправлено, если пользователь попросит возмещение, но возможно ли получить сервер уведомлений? (например, с использованием некоторого API) – Greezer

+0

Я не знаю, возможно ли это, но я думаю, что другой способ избежать проблемы, о которой вы упомянули, заключается в том, что когда пользователь запрашивает возмещение, он отправляет обновление на ваш сервер, прежде чем = транзакция транзакции приложения. Таким образом, ваш сервер знал операцию возврата перед транзакцией биллинга в приложении. – Ivan

Смежные вопросы