Как проверить платежную квитанцию ​​Android в приложении на стороне сервера? - PullRequest
30 голосов
/ 05 декабря 2011

Я внедряю биллинг в приложении в игру для Android, и мы хотим использовать сервер для хранения информации о покупке.

Согласно тому, что я понял, Android Market вернет обратный вызов приложениюв виде трансляции получателя о статусе покупки.Но так как мы сохраняем информацию о транзакциях на сервере, мое приложение должно выполнить запрос http post и обновить мой сервер.Существует очень высокая вероятность того, что этот http-запрос может быть имитирован каким-либо хакером вручную.Как проверить информацию о поступлении в Android Market из кода моего сервера?

Доступен ли обратный вызов Google Checkout на мой сервер?Или есть способ проверить подлинность ответа IAB, предоставленного клиентом http, и это покупка, совершенная только в моем приложении!

В процессе IAP Apple IOS у них есть веб-API проверки @ https://sandbox.itunes.apple.com/verifyReceipt, для которого мы можем передать

req.method = URLRequestMethod.POST;
req.data = "{\"receipt-data\" : \""+ t.receipt +"\"}";

и в нем указано, является ли получение надлежащим или нет.Есть ли у нас что-то подобное для Android?

Ответы [ 3 ]

23 голосов
/ 03 июля 2013

Обновление : Вы можете использовать метод getPurchases() для извлечения "не потребленных" покупок, как описано в документации для разработчиков:
http://developer.android.com/google/play/billing/billing_reference.html#getPurchases

Оригинальный ответ (сейчас устарел)

API Google Checkout устарел.Теперь вы должны использовать API статуса покупки.

Если вы планируете использовать API статуса покупки, ссылка выше упоминает эти ограничения:

  • Вы можете использовать API для проверки статусатолько для отдельных товаров - массовые запросы о статусе заказа в настоящее время не поддерживаются.
  • Вы можете запросить информацию о заказах, размещенных 12 июня 2013 г. или позднее, но не о заказах, размещенных ранее.
  • Вы можете запрашивать покупки любого типа товаров, сделанные с помощью In-app Billing v3 API, или покупки управляемых предметов, сделанные с помощью In-app Billing v1 и v2.Вы не можете использовать API статуса покупки для запроса покупок неуправляемых предметов, выполненных с помощью In-app Billing v1 или v2.
3 голосов
/ 05 февраля 2012

РЕДАКТИРОВАТЬ: этот ответ устарел, см. Ответ Dan J.

Обратного вызова нет, но в Google Checkout есть API.Ваши ответы здесь .

1 голос
/ 31 мая 2016

Это старый пост, но я надеюсь помочь другим.

Существует способ проверки покупок со стороны сервера, вы должны использовать этот оставшийся API.

https://developers.google.com/android-publisher/api-ref/purchases/products/get

...