The Interaction elements that are required for implementation of a secure payment flow are shown in the diagram below. The steps are described in detail in the sections following the diagram.
Note: To successfully implement this type of flow, you need to have an established account with a payment gateway. Jacada's secure payment flow supports any payment gateway that has client side integration as well as server side integration.
Step 1: The Question
The flow begins with an input question. On this page (e.g., the Payment page), customers who wish to make a payment are prompted to enter their credit card information. Since Jacada Interact automatically prevents credit card numbers from reaching the Interaction Server, an application extension needs to be used to redirect this information to the payment gateway that your organization works with. When the credit card information is found to be valid, the payment gateway returns a credit card token to the Jacada client application. This credit card token is then sent to the Interact Server.
For more information about the Question element, refer to Defining the Payment Question (below).
Step 2: The Integration Point
In this step, an Integration Point is used to perform the actual payment against the payment gateway. The web service called by the Interact Server is generally the payment API provided by the payment gateway.
Since the Interact Server has no actual credit card details, the charge operation is accomplished using the credit card token received from the payment gateway and a special secret key that is associated with your payment gateway account.
For more information and an example of a relevant Integration Point, refer to Creating and Using the Payment Integration Point.
Step 3: The Response Statement
At the end of the flow, the customer is presented with a Statement page that displays a message of your choice about the payment result. From this page, the customer clicks Next, and continues with the rest of the Interaction.
Defining the Payment Question
This Input Question element is used as a placeholder for the actions done by the application extension to implement the secure payment flow (i.e., sending credit card details to the payment gateway, obtaining a credit card token, and storing this token in a variable). In addition, the extension can be customized to perform any other operation that is required for your organizational needs. For example, the extension can call the credit card details form that is used by a payment gateway, and display it in the Interaction:
Since the application extension is applied to a specific Interaction page (in this case, the Payment question), it is important that the Reference Name of your Question element exactly matches the pageReferenceName used in the extension.
For more information and examples of extensions used for secure payment flows, refer to Understanding Payment Application Extensions.
Resources for Secure Payment Implementation
To help you get started, Jacada Interact provides sample resources that provide examples of how to implement secure payment using the Stripe payment gateway. The samples include the following Interactions, each of which includes the required Integration Point for charging the credit card:
- Payments: An Interaction flow in which the form presented to customers (on which to enter their payment details) is the actual form used by Stripe.
- Embedded Payment Form: An Interaction flow in which the form presented to customers (on which to enter their payment details) is a customized one.
In addition, Jacada Interact supplies a Mobile Web application containing the required application extensions. The Interactions and the application may be downloaded from the bottom of this page, and imported into your Admin Console. For instructions on how to import resources, click here.
When you run the sample Interactions, make sure that you select the Mobile application that you imported from the payment export package. For example: