The Stripe Fields are used to add a button on a form that takes the user to a Stripe payment gateway to make a payment, or to subscribe to a recurring payment subscription.
Payments can be configured as either one-time (Stripe – Payment Field) or recurring (Stripe – Subscription Field). In both cases, this requires the creation of a Customer in Stripe, which can be reused for future purchases by the same customer.
The Stripe – Payment Field might be used for purchasing an item or service that requires a single, one-time payment. It would generally be used on an invoice concept to enable customers to pay their invoice balance online.
The Stripe – Subscription Field is ideal for scenarios like a membership or car insurance, where the user pays on a recurring basis. It would generally be used on a type of membership and/or subscription concept to enable customers to subscribe to a recurring service, paid through a series of payments. The specific payment amounts and dates are pre-configured in Stripe, and the recurring payment requests (formatted as invoices) are generated by Stripe.
ID to Pass to Stripe Field
What is the XML element name of the field containing the ID that will be passed to Stripe to identify this transaction? This will be used in Stripe to identify to the object related to the transaction.
For example: if the customer will be making a payment on an invoice, the field containing the invoice ID should be entered.
Stripe Connection
This is the Stripe integration that facilitates communication between trellispark and Stripe. This connection enables the system to manage various payment-related tasks, including processing credit card payments and handling subscriptions.
Different connections can be configured for various environments. For example, in a development or QA environment, a test connection is appropriate, while a real, functional connection would be used in a production environment.
If the Stripe connection has already been configured in the Workspace application, enter the name of the connection in this field.
If the Stripe connection has not yet been configured, create the Stripe connection in the Workspace application > AI tab > AI Connections table, then enter the connection name in this field.
Stripe Customer ID Field
This is the ID that Stripe uses to identify the customer. This will assign the requested payment(s) to the customer associated with the provided customer ID.
If the customer already exists in Stripe, enter their Stripe Customer ID in this field.
If the customer does not already exist in Stripe, create the customer in Stripe, then enter the Customer ID in this field.
Internal Customer ID Field
This is the customer ID used internally within the trellispark application. It is sent to Stripe and stored as metadata, to maintain an internal trellispark identification of the customer in Stripe.
Enter the XML element name of the customer ID field. The customer ID field can be found on the customer’s concept record.
Is the Customer an Ancestor?
This field is used to retrieve the customer record.
If the customer record is a direct ancestor of the record containing the Stripe field, select “Yes.” The hierarchy level at which the customer record is located is defined in the “Stripe Customer Hierarchy” field.
If the customer record is not a direct ancestor of the record containing the Stripe field, select “No”. A TSQL stored procedure must be specified in the “Stripe Customer TSQL” field to retrieve the customer record.
Customer Hierarchy
Only applicable when “Is the Customer an Ancestor?” is set to “Yes”.
How many levels up the hierarchy from the concept containing the Stripe field is the customer record located? If the customer record is a direct parent (for example: the customer is a direct parent of the invoice containing the Stripe field), enter 1.
If the customer record lives higher up the hierarchy, count up the additional levels. For example: if the customer is the parent of an order, and the order is a parent to the invoice containing the Stripe field, the hierarchy would be 2.
Customer TSQL
Only applicable when “Is the Customer an Ancestor?” is set to “No”.
Specifies the TSQL procedure to retrieve the customer record.
Customer Name Type
Have the customer’s name and email address been collected using a contact field or two separate string fields? This will determine the fields that will be sent to Stripe to use as the customer’s name and email address.
If they’ve been collected using the contact field, select “Contact”.
If they’ve been collected using string fields, select “String”.
Customer Contact Field
Only applicable when “Stripe Customer Name Type” is set to “Contact”.
Specifies the XML element name of the contact field used to collect the customer’s name and email address. The values in the specified field will be sent to Stripe to use as the customer’s name and email address.
Customer Name Field
Only applicable when “Stripe Customer Name Type” is set to “String”.
Specifies the XML element name of the string field used to collect the customer’s name. The value in the specified field will be sent to Stripe to use as the customer’s name.
Customer Email Field
Only applicable when “Stripe Customer Name Type” is set to “String”.
Specifies the XML element name of the string field used to collect the customer’s email address. The value in the specified field will be sent to Stripe to use as the customer’s email address.
Customer Address Type
Has the customer’s address been collected using an address field or multiple string fields? This will determine the fields that will be sent to Stripe to use as the customer’s address.
If it’s been collected using the address field, select “Address”.
If it’s been collected using string fields, select “String”.
Customer Address Field
Only applicable when “Stripe Customer Address Type” is set to “Address”.
Specifies the XML element name of the address field used to collect the customer’s address. The values in the specified field will be sent to Stripe to use as the customer’s address.
Customer Address Fields
Only applicable when “Stripe Customer Address Type” is set to “String”.
Specifies the XML element names of the string fields used to collect the customer’s address. The values in the specified field will be sent to Stripe to use as the customer’s address.
Checkout Button Text
Overrides the text on the button that initiates the Stripe payment and brings the user to the Stripe checkout. This should be a short phrase that clearly states what will happen when the user clicks the button. It is recommended to use a phrase such as “Pay Now”.
This is the initial button that will appear on the field, and when clicked, it directs the user to the checkout where they can choose to make a payment. Once the user clicks this button, it will be replaced by the “Go to Checkout” button, which brings the user back to the initial Stripe payment session created in Stripe Checkout, allowing them to complete the payment.
It is recommended to keep the text consistent on both the “Checkout” and “Go to Checkout” buttons, as they serve the same functionality from the user’s perspective.
Goto Checkout Button Text
Overrides the text on the button that brings the user to the Stripe checkout. This should be a short phrase that clearly states what will happen when the user clicks the button. It is recommended to use a phrase such as “Pay Now”.
This button appears once the user has clicked on the “Checkout” button, and replaces it. It brings the user back to the initial Stripe payment session created in Stripe Checkout, allowing them to complete the payment.
It is recommended to keep the text consistent on both the “Checkout” and “Go to Checkout” buttons, as they serve the same functionality from the user’s perspective.
Update Checkout Button text
Overrides the text on the button that fetches the Stripe payment status, and updates the status of the record and buttons to display accordingly. This should be a short phrase that clearly states what will happen when the user clicks the button. It is recommended to use a phrase such as “Update Status”.
Cancel Subscription Button Text (Stripe – Subscription Field only)
Overrides the text on the button that cancels the Stripe subscription. This should be a short phrase that clearly states what will happen when the user clicks the button. It is recommended to use a phrase such as “Cancel Subscription”.
Stripe Process Lines (Stripe – Payment Field only)
Should Stripe process the invoice items on a line basis?
If set to “Yes”, a TSQL procedure must be specified to get the invoice lines.
If set to “No”, the XML element names for the product name field and the total price field must be specified.
Stripe Product Field (Stripe – Payment Field only)
Only applicable when “Stripe Process Lines” is set to “No”.
Specifies the XML element name of the field which contains the product name.
Stripe Total Field (Stripe – Payment Field only)
Only applicable when “Stripe Process Lines” is set to “No”.
Specifies the XML element name of the field which contains the total price of the payment (including tax).
Stripe Invoice Line TSQL (Stripe – Payment Field only)
Only applicable when “Stripe Process Lines” is set to “Yes”.
Specifies the TSQL procedure to get the invoice lines.
Stripe Invoice Line Product Field (Stripe – Payment Field only)
Only applicable when “Stripe Process Lines” is set to “Yes”.
Specifies the XML element name of the field which contains the product name of the invoice line.
Stripe Invoice Line Total Field (Stripe – Payment Field only)
Only applicable when “Stripe Process Lines” is set to “Yes”.
Specifies the XML element name of the field which contains the total price of the invoice line (including tax).
Stripe Currency Code (Stripe – Payment Field only)
What currency should the user be charged in for this payment?
Stripe Subscription ID (Stripe – Subscription Field only)
If the subscription already exists in Stripe, enter the subscription ID in this field.
If the subscription does not already exist in Stripe, create the subscription in Stripe, then enter the subscription ID in this field. To create a subscription in Stripe, start by creating a Product Catalogue, then a product, then a price. Click on the price, and the subscription ID will be in the top right corner.
Note: The currency and frequency of the payment is configured in Stripe subscription. If multiple subscription tiers are needed, individual buttons (Stripe – Subscription fields) must be created, with each one configured with the specific details in the Stripe subscription.
This will link the subscription to the checkout button, ensuring that the user subscribes to the specified subscription when completing the checkout process.
Free Trial Days (Stripe – Subscription Field only)
How many free trial days should the user receive?
If there is no free trial period, enter 0.
If there is a free trial period, enter the number of free trial days the user should receive.
Is This a Metered Subscription? (Stripe – Subscription Field only)
Is this subscription a metered subscription? A metered subscription charges a user based on the number of units they consume, rather than a fixed fee. For example, a phone subscription might be metered, with charges based on the number of talk minutes used.
If “Yes” is selected, meter readings will be required to be sent to Stripe on a regular basis.