private string GetEncodedTransactionData(IInternalTransaction transaction) { var txMetadata = transaction.TransactionMetadata; // If CrossApplicationReferrerTripId is null, then this is the first transaction to make an external request. In this case, use its Guid as the tripId. var tripId = txMetadata.CrossApplicationReferrerTripId ?? transaction.Guid; var transactionData = new CrossApplicationRequestData(transaction.Guid, false, tripId, txMetadata.LatestCrossApplicationPathHash); return(HeaderEncoder.EncodeSerializedData(JsonConvert.SerializeObject(transactionData), _configurationService.Configuration.EncodingKey)); }