Since you say "sort of a BitPay system", I assume you don't want to use BitPay.
You can start with dissecting some of the work people have done in the space on repositories such as bitwasp or bitcoin-php. This is probably more than you need, however the building blocks are there for what you want to do if you wanted all of the logic to live in php.
If you want to actually generate addresses, here is a good place to start.
Here's a quick stab at a workflow that I think would be pretty straightforward to develop.
User enters value in their currency.
Querying an exchange rate table such as the one on Blockchain.info, display the amount in Bitcoin.
You could generate a QR code using PHP QR as well as displaying a link to click/address to copy/paste, then verify that the transaction was completed using Blockchain.info or something else.
Or.... you could just use Blockchain.info's free tool, but I assume you have a reason why you want to build your own solution.
In the case that I'm mistaken and you do actually want to use BitPay, you would probably use either the Bill or the Invoice method of the BitPay API.
I feel that this question is too broad. With the many aspects to consider, it is very hard to answer concisely, while the question already sums up a rough answer. This question would work better if split up to several more specific questions instead, when the asker has worked out more details of what he is actually aiming for. Alternatively, this may work better on a forum style platform that facilitates the discussion of an evolving topic. Suggesting to close as "too broad". – Murch – 2015-06-03T15:40:26.383
Rereading this, this question makes little sense whatsoever. BitPay is a payment provider. Why would the user select how much money they want to send? If the price is in Bitcoin, why would the system need to calculate anything at all? Why would the system care what address the payment originated from? Payments should be rather identified through the recipient address than the "sender". – Murch – 2017-12-01T16:50:23.263