Я копаюсь в iOS-проверке покупок в приложении (на стороне сервера), и я сильно запутался в полях квитанций, возвращаемых сервером проверки Apple. Доступная документация здесь не совсем понятна (по крайней мере, для меня)
Итак, вот реальная (запутанная) квитанция о покупке в приложении, возвращаемая сервером проверки Apple
{
"receipt": {
"receipt_type": "Production",
"adam_id": XXXXXXX,
"app_item_id": XXXXXXXXX,
"bundle_id": "com.XXXXX.XXXXX",
"application_version": "XXXXXXXXX",
"download_id": XXXXXXXXXXXX,
"version_external_identifier": XXXXXXXXXXX,
"receipt_creation_date": "2019-10-15 14:01:41 Etc/GMT",
"receipt_creation_date_ms": "1571148101000",
"receipt_creation_date_pst": "2019-10-15 07:01:41 America/Los_Angeles",
"request_date": "2019-10-15 14:04:20 Etc/GMT",
"request_date_ms": "1571148260390",
"request_date_pst": "2019-10-15 07:04:20 America/Los_Angeles",
"original_purchase_date": "2018-11-27 18:28:48 Etc/GMT",
"original_purchase_date_ms": "1543343328000",
"original_purchase_date_pst": "2018-11-27 10:28:48 America/Los_Angeles",
"original_application_version": "XXXXXXXXX",
"in_app": [
{
"quantity": "1",
"product_id": "com.XXXXXXXXXX.XXXXX.XXXXXX",
"transaction_id": "XXXXXXXXXXX",
"original_transaction_id": "XXXXXXXXXX",
"purchase_date": "2019-10-15 14:01:41 Etc/GMT",
"purchase_date_ms": "1571148101000",
"purchase_date_pst": "2019-10-15 07:01:41 America/Los_Angeles",
"original_purchase_date": "2019-10-15 14:01:41 Etc/GMT",
"original_purchase_date_ms": "1571148101000",
"original_purchase_date_pst": "2019-10-15 07:01:41 America/Los_Angeles",
"is_trial_period": "false"
}
]
},
"status": 0,
"environment": "Production"
}
Итак, мои вопросы:
- Поля, начинающиеся с «original_purchase_date», представляют дату и время, но почему они имеют другое значение в 2 частях квитанции?
- ВВ части квитанции in_app, могут ли значения полей, начинающихся с "purchase_date", и значений полей, начинающихся с "original_purchase_date", отличаться? И если да, то в каком случае?
- Содержит ли поле «application_version» значение текущей версии сборки, опубликованной приложения, поскольку поле «original_application_version», согласно документации, представляет версию сборкиприложение, которое пользователь использовал для совершения покупки?
Большое спасибо за помощь и ответы.