Os metadados definidos para um objeto geralmente não são "herdados" por objetos associados nem copiados em objetos associados criados ao mesmo tempo. Por exemplo, uma transação de saldo não herda os metadados anteriormente definidos para a cobrança que deu origem a ela.
Existem algumas exceções importantes. Quando um PaymentIntent é confirmado, a Stripe copia seus metadados, juntamente com alguns outros campos, na cobrança criada pelo PaymentIntent. Porém isso só acontece uma vez, e as atualizações subsequentes dos metadados do PaymentIntent não vão atualizar os metadados da cobrança, que precisarão ser atualizados separadamente.
Além disso, os metadados dos itens de linha da fatura serão copiados dos metadados da assinatura à qual a fatura pertence nos casos em que o tipo dos itens de linha da fatura seja: "assinatura".
Há também alguns objetos da Stripe que têm parâmetros dedicados para definição de metadados de objetos associados. Exemplos:
Você pode definir os metadados de uma assinatura criada para uma sessão de checkout no modo de assinatura definindo subscription_data.metadata. Todas as futuras atualizações dos metadados da assinatura devem ser feitas diretamente no objeto Subscription ou modificando as fases de um cronograma de assinatura.
É possível usar os cronogramas de assinatura para atualizar metadados da assinatura subjacente definindo phases.metadata.[0] à medida que o cronograma for passando por cada fase, a Stripe vai atualizar metadados da assinatura com base no conteúdo de phases.metadata. Confira mais detalhes sobre o funcionamento disso em nosso guia na documentação.