Using the CardFlight SDK with a Stripe account


If your business operates on a ‘platform’ model and takes advantage of the Stripe Connect feature whereby your app makes charges on behalf of other Stripe merchant accounts (see https://stripe.com/docs/connect ) you will want to check out the Stripe Connect page. If you are unsure if your business operates as a platform, we recommend that you build out your CardFlight integration under the assumption that you are NOT a platform, and add in the Stripe Connect functionality at a later date.


Creating your CardFlight Merchant Account


Once you have set up an account with Stripe, you can add it as a merchant account on cardflight.com. This will take through an OAuth process where you will authorize CardFlight to make charges with your Stripe account. Please note, your Stripe account must be activated before you will be able to connect to CardFlight.

The CardFlight API simulates transactions made with development API keys and test accounts, so while you can create a ‘test’ merchant on the CardFlight platform for testing, know that your test transactions will not be sent all the way through to Stripe. We recommend using a test account to simulate as much as possible, then use a production API key with a live stripe account for final ‘production testing’ with EMV. Charges made while testing can be easily refunded and charges made while using a production key will appear on your Stripe dashboard.

Once you create a ‘production’ merchant account you will be able to start sending charges through to your Stripe account using the CardFlight SDK.


Additional Charge Parameters


Stripe offers a ‘description’ attribute on their charge object. You can populate this by including the optional CardFlight SDK charge parameter “description”.

Stripe offers the option of including metadata on Stripe charges. CardFlight also offers the option to include metadata on CardFlight charges. You may pass a hash in the metadata param when making a CardFlight charge and it will be saved to your CardFlight charge. If you want metadata parameters to be passed through to Stripe, you must include any metadata as keys beginning with “s-”. For example:

{
  metadata: {
    some-key: “this metadata will be saved on CardFlight but not be sent to Stripe”,
    s-stripe-metadata: “this metadata will be saved on CardFlight and will be sent to Stripe”,
    s-more-stripe-metadata: “this will also be saved on CardFlight and sent to Stripe”
  }
}

CardFlight does not limit the size of metadata fields, however, metadata passed to stripe must be less than 500 total characters (when json encoded) and use up to 20 keys.

For more details about Stripe’s metadata requirements, see https://stripe.com/docs/api#metadata