I recommend you call a local locksmith and see what they have to offer. How many working keys do you have right now?
If you don't want to spend a bunch and your OK with eBay use a seller called Yourkeylessremote
I have never had an issue programming keys or remotes from him on vehicles.
Dodge Dakota R/T 360ci Small-block _sold_
Jeep GC 5.7L Hemi- Magnaflow Cat-Back, BT Catch Can, 20" Gloss black SRT Reps
275/45R20 Nexen Roadian, Blacked out, 180 Stat _SOLD_
2008 335i Twin-Turbo