Вопрос об уведомлении сервер-сервер - PullRequest
1 голос
/ 24 февраля 2020

Как Apple делает c, сказанное в этом документе: c: https://developer.apple.com/documentation/appstoreservernotifications/notification_type?changes=_2

Subscription event                             | Notification types triggered
-----------------------------------------------------------------------------
.
.
.
Auto-renewal disabled (canceled) from 
the App Store account's Subscriptions settings | DID_CHANGE_RENEWAL_STATUS

AppleCare refund                               | CANCEL, DID_CHANGE_RENEWAL_STATUS

Когда AppleCare refund происходит, возникает два типа уведомлений: один из них DID_CHANGE_RENEWAL_STATUS. И когда cancel subscription произошло, его тип уведомления тоже DID_CHANGE_RENEWAL_STATUS. Итак, когда я получил уведомление с типом уведомлений DID_CHANGE_RENEWAL_STATUS, как я мог узнать, имеет ли пользователь refunded или canceled?

1 Ответ

1 голос
/ 24 февраля 2020

Я не знаю, почему Apple вызывает CANCEL, а также DID_CHANGE_RENEWAL_STATUS, но технически это правильно. Пользователь отменяет свою подписку (вы получаете уведомление CANCEL), и это также меняет статус продления (вы получаете уведомление DID_CHANGE_RENEWAL_STATUS - очевидно, подписка не будет продлена в будущем).

На ваш вопрос: вы знаете, что возврат происходит, когда вы получаете уведомление CANCEL и когда тело ответа сервера с уведомлением DID_CHANGE_RENEWAL_STATUS содержит cancellation_date_ms в Latest_receipt_info.

cancellation_date_ms

Время и дата, когда служба поддержки Apple отменила транзакцию, или дата и время, когда пользователь обновил автоматически обновляемую подписку.

см. здесь для получения более подробной информации.

Не беспокойтесь, если пользователь обновит свою подписку, ваш сервер получит дополнительно до CANCEL и DID_CHANGE_RENEWAL_STATUS уведомление INTERACTIVE_RENEWAL.

В случае, если пользователь отменил (деактивировал автообновление), поле auto_renew_status ( документация ) в теле ответа установлено на 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...