[ previous ] [ next ] [ threads ]
 From:  YvesDM <ydmlog at gmail dot com>
 To:  "m0n0wall at lists dot m0n0 dot ch" <m0n0wall at lists dot m0n0 dot ch>
 Subject:  Re: [m0n0wall] Hotspot Billing
 Date:  Sat, 27 Feb 2010 14:01:13 +0100
On Sat, Feb 27, 2010 at 5:12 AM, Lee Sharp <leesharp at hal dash pc dot org> wrote:

>> I have not experimented with FreeRadius and that's the next part of the
>> project.  One of the things I'd like to do is turn this into a
>> customer-facing hotspot, where I can accept credit cards for hourly and
>> daily use.
>> Might any of you folks on this list done this using m0n0wall?  I've found
>> several how-to's to do this with other things but I have to say I really,
>> really like m0n0wall and would prefer, if possible, to keep using it for
>> this purpose.
> Done it.  Also helped make m0n0wall WISPr compliant.  The web front end for
> billing and populating the radius database is the hard part.
>                        Lee

Indeed, but it can be done, I've done it too ;-)
Once you got your radius up and running you should build some (php)
webfrontend to allow your users to register and pay.
I use paypal and its IPN to accept/verify payments and generate
login/passwd in the radius db and details are sent by sms once IPN is
I used this script as base for the IPN stuff:
It's pretty well commented and if you have the needed background to
setup things like this it shouldn't be to much hassle.

The only thing that can give you issues is the wide variety of ip
addresses paypal uses and m0n0wall not being able to have dns names
entered in the allowed list of the CP.
I learned the best thing to do is ping/traceroute the paypal ip's from
the hotspot location itself and afterwards use the dns forwarder to
make sure they always resolve to these addresses.
Then you put these addresses in the allowed addresses list of the
captive portal.
The ip's you definately need to allow for paypal are the ip's of:
paypal.112.2o7.net ; paypal.com  ; www.paypal.com ;  paypalobjects.com
; www.paypalobjects.com

Hope this helps,
Kind regards