jaymedavis/stripe.net — pull request #132 by baronfel (2014-01-18 20:14:37+00:00)
Title: Non OAauth additional fields added to charge and card requests

This is a more precise version of the previous pull request, containing only the new fields.

My company is has a PCI-compliant payment orchestration service that handles many, many gateways. Because we store all the card data locally and most of the gateways that we operate with don't store card data and use Ids to reference them like Stripe does, our initial mechanism for creating a charge was to provide all the card data on the charge object, which is something Stripe supports when you are acting with the apikey given from the Stripe Account dashboard.

However, Stripe also allows third parties to write apps, that then use OAuth to get a token that uniquely identifies and provides access to certain features on behalf of a Stripe merchant. When this key is used as the apikey to access the Stripe api by any means, including Stripe.Net, certain operations are prohibited, including the create-a-charge-with-attached-card-data workflow I mentioned above.

Stripe can and will lift this restriction for certain clients. Once they do, they ask that the following fields be provided on some requests so that metrics can be collected on their end. These are those fields.