Я проделал следующий процесс:
- Я добавил веб-перехватчик для песочницы в разделе «Информация о приложении» и запускаю его через ngrok (туннель), чтобы проверить получаемую информацию.
- Через некоторое время Мне удалось выяснить, что именно мне нужно было декодировать по URL-адресу base64 из ответа, и в итоге я получил объект с этой структурой.
Код: Выделить всё
Array
(
[headers] => stdClass Object
(
[alg] => ES256
[x5c] => Array
(
[0] => ...,
[1] => ...,
[2] => ...,
)
)
[payload] => stdClass Object
(
[notificationType] => DID_RENEW
[notificationUUID] => ...uuid...
[data] => stdClass Object
(
[bundleId] => ...app.id...
[bundleVersion] => 1.5
[environment] => Sandbox
[signedTransactionInfo] => ... //long string of encrypted info
)
[version] => 2.0
[signedDate] => 1670890743027
)
[signature] => ... // signature string
)
- — используемый алгоритм
Код: Выделить всё
headers->alg - – массив из трех ключей.
Код: Выделить всё
headers->x5c
App Store подписывает информацию о транзакциях и продлении
, которую вы получаете в уведомлениях сервера App Store V2 и
в API сервера App Store. Он использует следующую
цепочку сертификатов x5c по порядку:
- Сертификат, содержащий открытый ключ, соответствующий ключу
App Store использует для цифровой подписи JWS. - Промежуточный сертификат Apple с сайта Apple PKI, который начинается с Worldwide Developer Relations.
- Корневой сертификат Apple сертификат.
- — это объект, содержащий соответствующую информацию, здесь релевантной будет
Код: Выделить всё
payload
Код: Выделить всё
payload->data->signedTransactionInfo- , с которым я не уверен, что делать.
Код: Выделить всё
signature
Подробнее здесь: https://stackoverflow.com/questions/747 ... -using-php