Charge Flow

A charge flow allows the charging of a customer without requiring direct contract with customer. The flow defines a sequence of levels. On each level we apply the following mechanisms to charge the costumer:

  • We try to use the token provided by the transaction to charge the costumer. If no token or a not initialized token is provided this step is skipped.

  • In case a payment method is configured which allows the charging without any user interaction (such as a bank transfer) we use this payment method for charging.

  • In case none of the mechanism above is working, a link is sent to the costumer. The email is asking the costumer to click on the link to complete the payment. The link is pointing to the payment page. There the customer can select any configured payment method and complete the transaction.

Since a charge flow consists of multiple charge flow level configurationsthe above process is repeated multiple times. The level configuration allows to specify the interval and the way those above steps are executed.

A space can contain multiple charge flows. The selection of the charge flow is done in the following way:

  • The flows are ordered by their priority

  • The flow which meets all conditions is selected

Once a flow is selected the flow is never changed for subsequent flow levels.

  • Create
    The create state indicates that the Charge Flow is in creation.
  • Active
    The active state indicates that the Charge Flow is active and may be used.
  • Inactive
    The inactive state indicates that the Charge Flow is inactive and may not be used.
  • Deleting
    The deleting state indicates that the Charge Flow is in the process to be deleted.
  • Deleted
    The deleted state marks the entity for purging from the database.
  • Conditions
    If a transaction meets all selected conditions, the charge flow will be used to process the transaction. If the conditions are not met the next charge flow in line will be chosen according to the priorities.
  • ID
    A unique identifier for the object.
  • Linked Space ID
    The ID of the space this object belongs to.
  • Name
    The charge flow name is used internally to identify the configuration in administrative interfaces. For example it is used within search fields and hence it should be distinct and descriptive.
  • Planned Purge Date
    The date and time when the object is planned to be permanently removed. If the value is empty, the object will not be removed.
  • Priority
    The priority orders the charge flows. As such the priority determines together with the conditions the charge flow the selection mechanism for a particular transaction. A change of the priority affects all future selections.
  • State
    The object's current state.

    A charge flow can have the following states:


    When the state is set to Active this charge flow will will be chosen for the transaction.


    When the state is set to Inactive this charge flow will not be chosen. However, all the information is kept and the charge flow can be reactivated at any moment.


    The charge flow is in the process of deletion. This may take some time until the charge flow is marked as Deleting before being marked as Deleted.


    The charge flow is deleted. Since the charge flow is linked with data which cannot be deleted immediately, we need to keep the charge flow until all the data can be removed.

  • Version
    The version is used for optimistic locking and incremented whenever the object is updated.