Lionel Messi had been contracted to play at least 45 minutes of a pre-season friendly that ended with his Inter Miami team being booed off, Hong Kong's sports minister said on Monday.
Ten of thousands of fans expected to see the World Cup-winning captain take part in Sunday's pre-season match against a Hong Kong XI after he was named among the Miami substitutes.
But the eight-time Ballon d'Or winner, who has a leg injury, stayed on the bench throughout his club Inter Miami's 4-1 win.
It prompted ugly scenes from the near-capacity crowd of 38,323 who had paid upwards of 1,000 Hong Kong dollars ($125) to see Messi.
They chanted "Refund!", gave thumbs-down signs and drowned out Miami co-owner David Beckham with booing as he tried to thank the crowd after the final whistle.
Kevin Yeung, Hong Kong's secretary for culture, sports and tourism told a news conference that government officials at the game had been repeatedly assured Messi would play.
Finally, 10 minutes from the end, they were informed that his injury -- inflammation of an abductor muscle -- would keep him out.
"We immediately requested them to explore other remedies, such as Messi appearing on the field to interact with his fans and receiving the trophy," Yeung said.
"Unfortunately, as you all see, this did not work out."
Yeung warned that up to 16 million Hong Kong dollars of public money could be withheld from the organisers.
"One of the key terms of our funding agreement with (organisers) Tatler Asia was for Messi to participate in the match for at least 45 minutes, subject to fitness and safety considerations," he said.
"We haven't paid any money yet. In the coming weeks we will further liaise with the organiser Tatler Asia.
"We will discuss the performance of the whole event and we will make a decision on how to deal with the sponsorship."
"Despite some news reports, Tatler did not have any information about the non-participation," it said.
Inter Miami and Messi are due to play the final pre-season match of their tour against Japan's Vissel Kobe in Tokyo on Wednesday. It is not clear whether Messi will recover in time.
The 36-year-old had played just six minutes in Miami's previous match in Saudi Arabia. The new MLS season in the United States starts on February 21.