stripe/stripe-ios — pull request #105 by jflinter (2014-12-20 00:03:44+00:00)
Title: Create STPAPIClient

The objectives here are to:
- Move static methods on the `Stripe` class into instance methods on a new `STPAPIClient` class. This will allow us to centralize configuration there and reduce the insane number of `+[createTokenWithX:operationQueue:etc]` methods we currently have.
- Reduce the total number of classes/methods available in public headers, so that a) we can document things more easily and b) it's clearer, just from looking at the code, how to use the library.
- Do all of this in such a way that it won't break everyone's existing integration. Since I'm making classes like `STPAPIConnection` private, this will introduce *some* breaking changes, but I've taken steps to ensure most integrations should be fine (all the old static token-creation methods on `Stripe` still exist, but all fall through to `STPAPIClient` now).

Still to do:
- [] Document the new classes
- [] Add deprecation warnings to now-discouraged static methods
- [] Write more tests for `STPAPIClient`
- [] Update the example app to use `STPAPIClient`
- [] Update the README with updated examples, as well as notes on how to migrate
- [] Update the docs on the site

At this point, I think the code itself is mostly done now: the example app hasn't been updated at all, and it builds and tokenizes cards fine. Mind taking a look @raycmorgan ?