一般に、オブジェクトで設定されたメタデータは、同時に作成された関連オブジェクトに継承 (つまりコピー) されません。たとえば BalanceTransaction は、作成元の Charge で設定されていたメタデータを継承しません。
ただし、重要な例外がいくつかあります。PaymentIntent が確定される際は、そのメタデータと他のいくつかのフィールドが、その PaymentIntent によって作成された Charge にコピーされます。ただし、これは 1 回限りの処理であり、それ以降に PaymentIntent のメタデータを更新した場合、Charge のメタデータは更新されないため、別途更新する必要があります。
また、type が ‘subscription’ である Invoice Line Item のメタデータは、Invoice が属する Subscription からコピーされます。
さらに、一部の Stripe オブジェクトには、関連オブジェクトのメタデータを設定するための専用パラメーターがあります。たとえば、次のものがあります。
subscription モードの Checkout Session 用に Subscription を作成する場合は、subscription_data.metadata を使ってメタデータを設定できます。それ以降に Subscription のメタデータを更新する場合は、Subscription オブジェクトで直接行うか、Subscription Schedule の phases を変更します。
Subscription Schedule で phases.metadata.[0] を設定すると、基になる Subscription のメタデータを更新できます。Subscription Schedule が各フェーズに移行するたびに、Subscription のメタデータが phases.metadata の内容に基づいて更新されます。この仕組みの詳細については、ガイドをご覧ください。