Getting the customer’s transaction ID

In the code snippet below we get the following properties on a given Transaction instance.

  • id: Unique ID for the transaction.
  • originalID: The ID of the original transaction for productID or subscriptionGroupID
private func getCurrentTransactionId() async {
    // Get all transactions
    for await result in Transaction.currentEntitlements {
        switch result {
        case .verified(let transaction):
            // Unique ID for the transaction.
            print("transaction id \(transaction.id)")

            // The ID of the original transaction for `productID` or`subscriptionGroupID`
            // if this is a subscription.
            print("transaction original id \(transaction.originalID)")
        case .unverified:
            continue
        }
    }
}

Leave a comment