Невозможно получить межсерверное уведомление о возмещении за покупку в приложении

Я пытаюсь реализовать обработку уведомления о возврате покупки в приложении (App Store отправляет данные responseBody JSON на URL-адрес уведомления сервера, введенный разработчиком приложения) в нашей серверной части. Но после успешного возврата средств за покупку в приложении я не могу получать уведомления из App Store.

Вот список вещей, которые я сделал для обработки уведомлений о возврате средств на нашем сервере.

  1. Перейти к App Store Connect ›Введите URL-адрес уведомления App Store: https: // ourServerUrl / notifyRefund (поддерживает TLS 1.2)

  2. Наш сервер принимает запрос POST и определяет параметр @RequestBody, как описано в responseBody

  3. Приобретите продукт («Расходные материалы») в нашем приложении для iOS (около 0,99 доллара США) - Purchase_date = 2021-03-03

  4. Перейдите на reportaproblem.apple.com и запросите возврат. - ›На следующий день возврат был обработан App Store, и на мой банковский счет было успешно возвращено 0,99 доллара США. return_date = 2021-03-04

После выполнения вышеуказанных шагов я все еще не могу получить уведомление из App Store. Я прочитал сообщение о задержке уведомления, но не уверен, что это из-за задержка или проблема с конфигурацией моего сервера.

Apple doc.


person qbpdk    schedule 05.03.2021    source источник


Ответы (1)


Обновление от 2021-03-24. В приложении Server ‹--› (iOS / Android) преобразователь представлений нашего сервера (ContentNegotiatingViewResolver) определяет представление по умолчанию (TextPlainView, JsonView) на основе заголовка запроса (Content-Type, Accept).

Поскольку ответ обратного вызова на уведомление Apple (запрос к нашему серверу) не имеет заголовка Accept, наш сервер устанавливает преобразователь представления по умолчанию как TextPlainView в соответствии с конфигурацией нашего сервера в servlet-context.xml. Это вызвало ошибки, поскольку ответ на уведомление Apple находится в Формат Json.

После изменения настройки представления нашего сервера по умолчанию на представление json мы смогли проанализировать responseBody уведомления Apple. Надеюсь, это поможет разработчикам, решающим подобные проблемы.

person qbpdk    schedule 24.03.2021