HomeGuidesRecipesAPI
HomeGuidesAPILog In

Stripe Connector

❗️

Contact your sales representative if you are interested in obtaining a license for the Stripe Connector Module for your SmartIQ environment.

Stripe Connector question allows capture of payments though SmartIQ forms, without the need for users to leave the form. With this method, credit card details are also not stored within the form. Stripe Payment implements SSL (https) making the payment secure and enabling SAQ A and Attestation of Compliance (AoC).

The three common uses for this question are payment as final step in a Form, Mid-Form Payment in a Form, or Payment in one or many steps of a workflow.

Usage

Make sure to have the stripe connector configured in your Manage settings first.

Create a Stripe Connector Sandbox for testing and development. This is also where you will obtain the Publishable and Secret API keys required to configure the connector.

Inputdescription
Send Email ReceiptStripe will send a receipt to the customer automatically. It is possible to review and send receipts via Stripe Dashboard. Make sure you review Stripe official documentation to learn more
Statement DescriptorDescription to be included in customers bank statement. Max 22 characters and the following characters are not allowed: <, >, ', or ". It is recommended to include a validation in Design to check length and characters; use this regex ._[\<\>"]._
Billing AddressCustomer's billing address (some validations can be performed by Stripe)
  • Publishable API Key: Get this key from Stripe Dashboard (Developers > API Keys). This option will override value defined in Connector Settings.
  • Secret API Key: You can get this key from Stripe Dashboard (Developers > API Keys). This option will override value defined in Connector Settings.
  • Total Amount: Amount to be charged.
  • Payment Description: Brief description to be included in Payment the widget. This option will override value defined in Connector Settings.
  • Merchant Name: Name of entity collecting the payment. This option will override value defined in Connector Settings.
  • Currency Code: Three-letter ISO code (lowercase), for example: usd, aud, cop, etc. https://stripe.com/docs/currencies. This option will override value defined in Connector Settings.

Optional

UI

  • Payment Button Text: Allows to customize text of payment button. This option will override value defined in Connector Settings.
  • Payment Button Class: A custom class can be defined in the environment css, btn by default. This option will override value defined in Connector Settings.
  • Logo URL (128x128): Url with a 128x128 image (png, gif or jpeg). This option will override value defined in Connector Settings.
  • E-Mail: Customer's email.

Custom Statement

Checkpoint (Pay and Continue)

  • Checkpoint Payment [true|false]: By default this option is disabled False. For "Pay and continue" (mid-form payment) scenario, set it to True.
  • Payment State (Project Property Name): A Project Property needs to be defined to control behaviour of Form (Recommended to be initiated as "False" with capital "F"), include here the name specified in Project Properties. This must be specified as a Text Value not using the Project Property type.

Additional Options (True|False)

  • Zip Code [true|false]: Applicable to US customers.
  • Shipping Address [true|false].

Answer

Outputs

  • Payment State: [True|False] Before Payment -> False, when payment successful -> True.
  • Risk Level
  • Risk Score
  • Reason
  • RuleId
  • Seller Message
  • Type
  • Network Status

📘

Note

It is recommended to enable troubleshooting when developing a new form, this enables relevant debugging messages.

Design Patterns (Use Cases and Examples)

Pay and Finish: Payment as final step in a form.

This is probably the most common scenario, where SmartIQ will collect some information before collecting payment and potentially running some actions at the end (for example: send confirmation email).

Use sample project Stripe Connector (Pay and Finish).ixpkg that can be downloaded from here

Key Concepts

  • The Stripe Connector Question needs to be the last question of the last page in the Form.
  • A condition is added to the Finish page, where it's only Active if Payment State = "True".
  • Make Finish Page as Not Visible
  • Define as mandatory questions, those mapped required Inputs for Stripe Connector to ensure data is collected (avoiding validation error).

Pay and Continue: Mid-Form Payment in a Form

This use case defines a "gate" or "decision point" within a SmartIQ Form based on the payment event, where it will have a different behaviour before and after payment.

Use sample project Stripe Connector (Pay and Continue).ixpkg that can be downloaded from here

Key Concepts

  • Create a new Project Property to control the state of the Form, in the example form case paymentStatus, and set initial value to False. Please be aware that SmartIQ performs case sensitive string comparison.
  • Drag and drop Stripe Connector Question Extension in your form and include Question Extension Input Payment State (Project Property Name) and set value to paymentSatus (or the project property name you chose).
  • Configure Form logic using the project property [paymentStatus] comparing value for False or True to create the Before/After behaviour. Stripe Connector will automatically change the Project Property defined in the input to True when payment is successful.

Pay in Workflow: Payment in one or many steps of a workflow.

Stripe connector can be used in a workflow to collect one or more payments, this can be combined with the previous two use cases where Payment is the last event before
workflow transition or within one workflow step to define a binary state (before/after payment). A practical example of this pattern would be a case where the business process requires a Deposit collection and a Final Payment later.

Use sample project Stripe Connector (Workflow).ixpkg that can be downloaded from here

Key Concepts

  • Configure Workflow Transition to only be active defining an Active condition pointing to Payment State result to True, this will display the submit button only when payment is successful.
  • If Payment is the last question before transition, make sure "Show Send To" is disabled for the workflow transition and resolve who is next user in the workflow based on Form logic.

🚧

Important Notes

  • The Stripe Connector Question cannot be directly referenced in a Form Summary. The Designer needs to map the response value to a label in order to make it a visible property.
  • Stripe Connector is not recorded in the Interaction Log and Project Results.
  • Payment cannot be performed via an API call, it requires user interaction.
  • If the Stripe Payment Gateway is not loading check the correct url is in the site framing policy list in manage. More details about Content Security Policy and Stripe can be found here