- This is the ID a provider assigns to a transaction
- This is a string in the format of txn-xxxxxxxxxxxxx which is derived solely from the provider transaction ID. It's in a consistent format for convenience; it is not subject to change and is based on the provider_transaction_id being present.
The `normalised_provider_transaction_id` is built from the provider_transaction_id . It is a “normalised” TrueLayer version so that we can have the same format across all providers.
This is the main difference with the transaction_id, which is subject to change as TrueLayer generates it from different transaction payload fields. Therefore, when those payload fields change, the transaction_id changes.
You can check more info about this here.
According to the Open Banking spec, the transaction_id field (used to populate our provider_transaction_id ) is not a required field, therefore this field, as well as the normalised one, are both optional.
Some things you should know:
1. This field is returned by all TrueLayer endpoints that return transaction data, including the batch endpoint.
2. Both of these fields are optional because it's optional for banks to return this field.
3. We've seen very high coverage for our UK providers which this has been enabled for.
4. We've been able to test that this ID stays the same when accessed via different credentials for the most popular providers (that make up 70% of connections we maintain).
5. The fields are not currently supported for Amex or Starling.