Banya began his career at Fulham, joining the club at the age of 12, but he never made a first-team appearance, although he was an unused substitute for the Premier League match against Stoke City at the Britannia Stadium in November 2012. On 2 November 2013, Banya joined Conference Premier side Woking on a one-month loan. On the same day, Banya made his professional debut in a 2–1 defeat to Grimsby Town, playing the full 90 minutes. Banya went on to make eight league and two FA Trophy appearances before returning to Fulham. On 30 June 2014, Banya was released by Fulham at the end of his contract.
On 7 August 2014, Banya joined Crawley Town on a short-term deal after his release from Fulham. On 9 August 2014, Banya made his Crawley Town debut in a 1–0 away victory over Barnsley, in which he replaced Lewis Young in the 56th minute. On 2 September 2014, Banya scored his first Crawley Town goal in a 2–0 victory over Cambridge United in a Football League Trophy tie. On 22 January 2015, Banya re-joined Woking on loan until the end of the 2014/15 campaign. On 24 January 2015, Banya made his Woking comeback in a 3–3 draw against Dover Athletic in the FA Trophy. On 31 January 2015, Banya scored his first Woking goal in a 3–0 home victory against Alfreton Town, netting in the 63rd minute.
Non-league spells
On 23 November 2015, Banya joined National League South side Maidstone United on a one-year deal. On 1 December 2015, Banya made his Maidstone United debut in a 2–1 home defeat to Maidenhead United, in which he replaced Alex Akrofi in the 66th minute. On 28 December 2015, Banya was given his first Maidstone United start in a 2–1 victory over Eastbourne Borough, in which he played 76 minutes before being replaced by Bobby-Joe Taylor. On 28 June 2016, it was announced that Banya would leave Maidstone United in search of a club closer to home. On 21 November 2016, Banya joined Margate after a short-term spell with Billericay Town. A day later, Banya made his Margate debut in a 2–1 defeat against Eastbourne Borough, playing the full 90 minutes. However, after only featuring eight times in the league, Banya left the club in January 2017. In March 2017, preceding his release from Margate, Banya joined Isthmian League Premier Division side Kingstonian. On 11 March 2017, Banya made his Kingstonian debut in their 1–0 away defeat against Lowestoft Town, replacing Joe Turner with two minutes remaining. On 6 July 2017, Banya joined fellow Isthmian League Premier Division side Harrow Borough. Banya signed for Whitehawk for the start of the 2019–20 season.