Integration Guidance: Understanding Workflows

During the "Preparing the Application to Transact" step of the Commerce Web Services implementation process, the payment application initiates a request to retrieve required Service Information by invoking the GetServiceInformation operation. This request returns a ServiceInformation object which contains information about the specific services and transaction processing operations supported by the Service Key(s) associated with the sessionToken provided.

As of CWS release 2.0.14, applications are able to take advantage of value-added services provided by the Managed Commerce Services Platform. Workflows represent a collection of specific services and the order in which each of these services should be executed within the transaction flow. The workflows supported by the application are also be returned in the ServiceInformation object.

A Service Key can have multiple workflows and services associated with it, however, ServiceInformation will only contain configuration information for a single instance of a service no matter how many times it may appear in the workflows returned. In the event that a Service Key has more than one workflow assignment, the application must determine which workflow to invoke for every subsequent transaction request.

If the application will be supporting custom transaction processing workflows, the appropriate workflowId must be sent in lieu of a serviceId for all Transaction Processing operation requests. If the application is not supporting custom workflows, the application must send in the serviceId returned by the GetServiceInformation operation with each operation.

Applications supporting Platform Workflows Send workflowId only (in lieu of serviceId).
Applications not supporting Platform Workflows Send serviceId only.

Note: There are no special development considerations when coding the application to take advantage of workflows since all the required service and workflow data is returned to the application in the ServiceInformation object. However, if the application will support custom workflows, it must pass the appropriate workflowId with each subsequent transaction processing operation to ensure the proper workflows are executed. As such, the workflowId parameter is noted in all CWS operations.

For additional guidance associated with the integration of workflows in the applications, contact your NAB Velocity Sales Engineer.

Comments