1. Documentation
  2. AppFlow
  3. Introduction
  4. Guides



What is supported in any given AppFlow environment is determined by the flows provided via an AppFlow Configuraton Provider. For example, in the AppFlow developer bundle which comes with AppFlow Settings designed for developers, preAuthorisation is not defined. The samples exist to illustrate how AppFlow works and are not intended to be a fully fledged AppFlow environment

Please contact AEVI if you require a different set of flows to be able to test your application.

Why is my flow service not getting called?

If your flow service is not getting called, there are a few possible causes to investigate.

First, check if your application is listed under Flow services in AppFlow. If not, it points to an issue with how your application is exposing its API entry points. Double check that you are using the correct intent actions, etc in the manifest.

If your application is listed, then it may be due to;

  • Your application is not defined in the flow. If you are using the developer bundle, open AppFlow Settings and view the relevant flow and from there you can add your app to the relevant flow
  • Your application does not support the stage that it is defined in the flow for. Check intent actions and what methods you are overriding in your service class.
  • Your application is using a different major API version to the flow processing service - check the logs
  • Missing flow type support - have you listed the flow type that is being used as supported via your PaymentServiceInfoProvider implementation?
  • Unsupported currency - have you specified supported currencies? If so, maybe the current request is using a different currency.

Why is the augmentation my flow service made not having any effect?

FPS may reject augmentations performed via the stage models if they are deemed invalid for some reason. The best course of action is to check the audit logs for the particular request that was made.

As of v2.1.0, you can also subscribe to Flow Service Events which will inform you of any reason why an augmentation was rejected.


If you are having issues with integrating AppFlow, this section may help you to troubleshoot it.


If AppFlow is not working at all or there are issues occurring, start by viewing the diagnostics screen in the AppFlow application, together with the System audit log and the individual request history audit logs.

If you are still struggling to figure out what is wrong, you can export the debug logs and get in touch with AEVI for help. The best option for this is to ask AEVI for the AEVI Data Storage App which can be installed alongside FPS and provides a way to upload debug logs onto an AEVI server for review. The options to export the debug logs to sd-card or upload in this manner are available from the Diagnostics screen menu in the toolbar.


Prior to v2.1.0, or if the diagnostics screen is not providing any hints, try the System audit logs which contains information about the state of the system, incl whether any flow services were rejected, any failed initiation calls, etc. This is a good starting point to see what is going on.

In addition, there are audit logs per request, in the Request history view. From there you can see what happened during a flow and why a flow service may not have been called, etc.

If you are developing an initiation app (POS app), make sure you are handling errors correctly.


The open source parts of AppFlow are hosted on github and licensed under Apache-2.0.

The main part of AppFlow that is not open source is the Flow Processing Service, which is AEVI intellectual property.

We welcome any contributions to the open source repos via pull requests and/or issues. In general, we would advise to raise an issue and/or contact AEVI before you make any substantial code changes.

We follow Git Flow for all our repos. In general this means you would be creating a feature branch off develop, and then target develop in your pull request. For some of very trivial code bases, such as api-constants, we use don't have a develop branch and target master directly instead.