In most cases they can do it on your website, but how much they can do depends on the airline and on the way that airline content reaches your portal.
When the airline passes seat maps and baggage options through to us, your booking page can show them as part of the normal flow. The customer picks the flight, then sees the seat layout with the seats that are free, and sees the baggage options offered for that fare. Whatever they add is priced into the same payment, so they pay once and the extras are held against the same booking reference. Low cost carriers are usually the strongest here because selling extras is a core part of how they work.
Be aware that not every source behaves the same way. Some fares booked through a global distribution system or through a consolidator return no seat map at all, or return one only after the ticket has been issued, and some airlines only accept baggage requests directly on their own site once the ticket is in hand. In those cases your portal cannot invent the option, and the honest thing is for the page to say the extra is not available online for that flight rather than to take a request you cannot fulfil.
The sensible next step is to ask which of your current airline connections return seats and baggage before ticketing, and then set your portal so those options only appear on flights where they can actually be confirmed.