The Integration Point used in a payment Interaction flow calls a web service to perform the payment operation against a specified payment gateway. Since the Interact Server has no actual credit card information (except for the amount to be charged), the following inputs generally are passed to the web service instead of the credit card details:
- The credit card token sent to the Jacada client by the payment gateway (via the application extension).
- The secret API key associated with your payment gateway account. (This key is usually the bearer token provided to your account by your payment gateway.)
To locate your secret key, log into your payment gateway account and search the dashboard. The following example is taken from Stripe:
The web service called by the Integration Point is generally the payment API provided by the relevant payment gateway. Both SOAP and REST web service calls are supported.
To help you get started, Jacada Interact supplies sample Interactions that include the Integration Point required for calling Stripe's payment API. The samples (plus the necessary Mobile Web application) may be downloaded from the bottom of this page, and imported into your Admin Console. The following sections describe how the sample Integration Point is built and used.
Working with the Sample Integration Point
This section provides a high level summary of how the sample payment Integration Point is built. For complete details about designing Integration Points, refer to Creating Integration Points.
The Integration Point provided in our sample Interactions involves a REST API call to the Stripe payment gateway. The following shows a CURL example for a charge call to Stripe:
curl https://api.stripe.com/v1/charges \
-u sk_test_YlYkI08Gt39bEjdFGZUTcoCS: \
-d amount=400 \
-d currency=usd \
-d source=tok_17Ct6VAAu11TRnY5gpHJr0C3 \
-d description="Charge for email@example.com”
The parameters passed in this API call are listed in the following table. The -u parameter is the authorization header. The -d parameters are passed in the body, in query format.
|-u||The secret key associated with the Stripe payment gateway account.|
|-d amount||The amount to be charged (in cents).|
|-d currency||The currency involved (U.S. dollars).|
|-d source||The credit card token returned by the Stripe payment gateway.|
|-d description||Information related to the API call. In this example, the description is hard coded.|
To support this web service call, the request parameters of the REST Integration Point created in the Admin Console include the amount to be charged, the credit card token, and a description. These arguments are passed in the body of the request in Query string format.
The secret key is passed in the Authorization header as Bearer sk_test_YlYkI08Gt39bEjdFGZUTcoCS.
Using the Integration Point Interaction Element
This section provides a summary of how to create the Integration Point element for your payment Interaction. For complete details about working with these element types, refer to Using Integration Points in Your Interaction.
The Reference Name of the Integration Point element can be defined according to your preference. Verify that the Integration Point selected is the one created to support secure payments (as described in the section above). For example:
This Integration Point has the following input parameters:
- amount: This value is taken from the answer to the Payment input question.
- token: This value is taken from the user variable that was set in the application extension. For details, refer to Enabling Secure Payments (Phase 3).
- description: This value can be set according to your needs. In the example below, a hard coded value is used.