Я создал приложение, в котором есть покупки в приложении, у которых есть ежемесячное автоматическое обновление .. при первом успешном платеже я назвал веб-сервис, в котором я сделал пользователя премиум-класса.
Теперь, если пользователь отменил платеж вручную с сервера google, как я могу узнать, что пользователь отменил свою подписку.
Есть ли какой-либо запрос кода PHP или из андроида, я должен вызвать что-то в фоновом режиме, чтобы проверить статус?
Благодарю вас в advace
Вы можете проверить приобретенные подписки внутри приложения через
Изменить: для подписки используйте «subs», для inapp-purchase используется «inapp», например:
Inapp-Purchases: mService.getPurchases(3, getPackageName(), "inapp", null);
Подписки: mService.getPurchases(3, getPackageName(), "subs", null);
См. Также Querying for Purchased Items
адресу http://developer.android.com/google/play/billing/billing_integrate.html.
Таким образом, вы можете реализовать задачу в своем приложении, где вы проверяете, есть ли у пользователя подписка. Если нет, вы можете удалить статус премии. Более того, эта информация может быть полезна для вас:
Когда пользователь отменяет подписку, Google Play не предлагает возмещение за текущий расчетный цикл. Вместо этого он позволяет пользователю иметь доступ к отмененной подписке до конца текущего платежного цикла, после чего он прекращает подписку. Например, если пользователь покупает ежемесячную подписку и отменяет ее на 15-й день цикла, Google Play будет считать подписку действительной до конца 30-го дня (или другого дня, в зависимости от месяца).
источник: http://developer.android.com/google/play/billing/billing_subscriptions.html по subscription cancelled
Надеюсь, это может помочь вам
Я не тестировал это, но можно ли использовать поле autoRenewing в INAPP_PURCHASE_DATA?
Если значение true, подписка активна и будет автоматически обновляться в следующую дату фактурирования. Если false, указывает, что пользователь отменил подписку .
http://developer.android.com/google/play/billing/billing_reference.html#getBuyIntent
По-видимому, поле autoRenewing
было добавлено или, по крайней мере, задокументировано в начале 2015 года .
Проверьте метод getPurchases (). Или если вы используете Android Studio и загрузите исходный код, просто нажмите Ctrl
+ Q
на методе IInAppBillingService.getPurchases