Проверка квитанции в моем приложении недавно начала ломаться. Судя по всему, за последние 2-3 недели Apple изменила номер версии квитанции In-App Purchase с 2
на 3
.
При проверке структуры подписи:
struct signature_blob {
uint8_t version;
uint8_t signature[128];
uint32_t cert_len;
uint8_t certificate[];
} *signature_blob_ptr = (struct signature_blob *)signature_bytes;
…где signature_bytes
— это декодированное с помощью Base64 значение строки подписи из большого двоичного объекта JSON из transactionReceipt
(устарело с iOS 7) SKPaymentTransaction
.
…У меня был жестко закодирован чек для version == 2
. Теперь я вижу значение 3
.
После пары лет в App Store, в последние 2-3 недели наше приложение начало получать пользовательские отчеты о новых покупках и покупках «Восстановление», не способных активировать контент нашего приложения. Поэтому я предполагаю, что это недавнее изменение со стороны Apple.
Кто-нибудь может подтвердить, что Apple внесла изменения? Предоставить дополнительную информацию? Может быть, указать мне документацию об этой новой версии квитанций о покупке?