Just get php to generate a "random" number that 10 numbers long, as so:
substr(md5(time()),0,10);
That will generate a fairly random number, considering it's dependant on the time variable. You can use that and write a function that makes sure the numbers never repeat on a per user basis, or just make an auto-increment field that starts at 1.
So he'd order, order-id would be 1, and the next time he'd order it'd be 2. Not very impressive and kinda low-tech, especially if you plan on displaying the number, but still, it works, it's reliable, and it'd be hard to break. So I suggest using that.
For the transaction, I suggest you make sure you database isn't all MyISAM tables as they are fairly insecure. Instead use the InnoDB or even Gemini if you have access to it. BerkeleyDB is also good but since it's not as widespread support is less than optimal. Also the tables are not "really" optimized for transactions. My suggestion would be InnoDB.
How you will interface with some sort of credit agency or bank is beyond me. My guess would be to call up a big bank's headquarters and ask to speak to somebody in the IT department. They should know SOMETHING about interfacing with a bank since they are sorta working for it's IT department.
Apart from that, code, recode and make sure it's 99% bug free before releasing. I wouldn't put 100% because it's never perfect, but make sure you test it against a wide variety of computers, browsers and hack tools. VERY IMPORTANT: DO some infiltration testing. I cannot stress this enough. Get somebody to try and break in and mess EVERYTHING up, or to make a false transaction.
Before launching any application that will have money as a turning point you must make sure it's secure. Get somebody you trust to look at your code, and get them to try and break in. If they know how it's coded and they can't, you can be fairly sure it's safe (or that they can't infiltrate anything, but that's besides the point). The other people that WOULD want to mess everything up won't have a copy of the source-code on hand, unless it's GNU, and then it's a whole other ballgame.
Regards,
Daedlus