For another project, I wrote a library that talks to Braintree Payments from iOS. It sends credit card data directly to Braintree from the iPhone (or iPad). It returns a token that you can then use to charge the card. This helps tremendously with PCI compliance, because you don't have to have the credit card data on your own server.
I'm trying to find out if it's worth the effort to split it out and make it available for download. If you are interested, please leave your email address at http://www.pinpointpayments.com. If I get enough feedback, I'll do it.