Clarification on offerIdentifier Behavior in TransactionPayload and Upgrade Scenarios

Hello everyone,

I have some questions regarding the behavior of the offerIdentifier property in the TransactionPayload from App Store Server Notifications.

When a user redeems an Offer Code, the offerIdentifier field is populated with the respective identifier. However, I am unsure how this field behaves in different scenarios, and I would appreciate any insights or clarification:

  1. Does the offerIdentifier persist throughout the subscription lifecycle (from the initial purchase to expiration)?
  2. Does it become null once the Offer Code benefits expire?
  3. Is it only present at the time of purchase and omitted in subsequent notifications?

Additionally, I would like to understand the behavior of the offerIdentifier in the following scenario:

  • A user purchases a lower-tier subscription using an Offer Code. Later, they upgrade to a higher-tier plan, causing the Offer Code benefits to effectively expire.
    • What happens to the offerIdentifier in the transaction for the upgrade?
    • Will it still appear in transactions after the upgrade, or will it be null?

I couldn't find explicit details about these situations in the official documentation, so I hope someone here might have experience or knowledge to share.

Thank you in advance for your help!

Clarification on offerIdentifier Behavior in TransactionPayload and Upgrade Scenarios
 
 
Q