Partner backend integration

This is a central FlexCharge / Partner integration to simplify the integration effort of the Partner's merchants willing to use the FlexCharge service.

Data flow

Steps in red are performed by you, the ones in gray are done by your merchant.

Steps in red are performed by you, the ones in gray are done by your merchant.

Step 1. Create a Sandbox account

If you don't already have a Sandbox account with the required credentials to start using our APIs, you can request one at [email protected]

Step 2. Authentication

All API requests are made over HTTPS. Requests without authentication will fail.

How to authenticate.

Step 3. Transmit API

The Transmit API needs to receive a copy of each processed payment transaction (authorized or declined) related to any of your orders. The data sent the Transmit API is used to build customer profiles and DOES NOT activate the FlexCharge service.

Once transmitted, our API will respond with a transaction key.
This key can be used to update the order object, for example with its outcome.

How to implement /transmit.

Step 4. Evaluate API

PCI data needs to be tokenized for this step.

Payment Method tokenization

Your tokenization key can be found on the Developers > Tokenization section on the merchant portal.

How to /tokenize.


On declined/failed transactions, you will have to invoke FlexCharge's Evaluate API.

This ACTIVATES the FlexCharge service.

How to implement /evaluate

Partner integration checklist


Partner integration features

To ensure a seamless integration with you merchants, the following essential features need to be provided:


Make sure that MIT and CIT are operate independently:

  • CIT/MIT Independent Switching: Ability to independently enable or disable CIT (Customer Initiated Transaction) and MIT (Merchant Initiated Transaction)
  • CIT/MIT Independent Testing: Ability to test CIT and MIT separately by establishing connections between the merchant's test environment + sandbox credentials, your sandbox environment, and the FlexCharge Sandbox.
    E.g.: MIT can be in production while CIT is in Sandbox testing.
  • Distinguishing Call Center orders from website orders: CIT generated from call centers should be easily distinguishable from CIT generated on websites.
    E.g.: Call centers orders could be turned off while websites orders can be in production.


Merchants may have multiple websites, so it's necessary to provide each transaction's origin.

  • 'siteUrl' helps FlexCharge connect to the appropriate descriptor, make sure you can pass the correct url for each transaction
  • if you cannot provide the 'siteUrl', then pass 'transaction.descriptor'


  • How is FlexCharge enabled for a merchant? With UI?
  • Who's in charge of activating FlexCharge for a merchant?
  • Can FlexCharge be enabled on a campaign / website level?

Reporting system

  • As you would for a gateway integration, make sure the reporting is accurate regarding transactions / descriptors / websites

Your integration is now done

You can now test transactions in your test environment.

Don't have a test environment? Ask us and we'll set up one for you.