Hi,
I do this with a small Routerboard and a Monowall in VM, just Captive Portal without Authentication and as landing Page: PAY YOUR BILL OR …........
RB450G, one firewall mangle rule: chain prerouting, source address (ip of the not paying guy), action: mark routing, new routing mark "payurbill", one ip-route (new route, 0.0.0.0/0, mono-VM as gateway, routing mark="payurbill" --> voila
I use m0n0 as it only uses 64 MB RAM in VM, 50% RAM free, no noticeable cpu requirements, should work with PFSENSE too, but 128 MB RAM.
Or try the 2.0 BETA (!) with multiple captive portals, only one other interface or VLAN (Not tried the VLAN thing) for another captive portal (I do not know if you can have differenet landing pages for different CP'S on different Interfaces though...)
If you dont like VM, a alix board (150$) with 3 lan interfaces, even the smaller one with 433 MHz Geode and 128 MB RAM is sufficiant for >10 Mbit/s throughput with either PFSENSE or m0n0. Uses around 5 W of power, very small footprint, rackmounts available....