Barcelona said German goalkeeper Marc-Andre ter Stegen signed a contract extension on Friday which will keep him at the club until 2028.
The club said that the contract had a 500 million euro ($539m) buy-out clause.
Spanish media reported that as part of the deal, the 31-year-old ‘keeper agreed to defer part of his salary this season to fall within the financial fair play rules imposed by La Liga.
Ter Stegen has played 379 games for Barcelona since arriving in May 2014 from Borussia Moenchengladbach and has been named club vice-captain this season.