Use the Payment control to collect payments from your customers using Stripe.
Contact doForms Sales to add Stripe payments to your account.
Stripe payments is included in doForms Premium.
First, you must connect doForms to Stripe.
To create a Stripe Checkout session, only Product name, Quantity and Unit price are required. All other inputs are optional.
Your customer can complete the checkout session using one of several methods:
- By receiving an email with the checkout link.
- By scanning a QR code that will take them to the checkout link on their device.
- By completing the checkout session in the browser on your user's device.
- By clicking the checkout link in a PDF report of the form submission.
The payment control will display one of the following status values:
- open: The checkout session has not been completed by the customer.
- expired: The checkout session has expired.
- complete: The checkout session has been completed by the customer, but the payment has not been received.
- failed: An asynchronous payment method (e.g. Bank transfer) has failed.
- paid: The payment has been received.
Properties
Send to Stripe: Select the information to send to Stripe to start a customer checkout session.
-
Use live account: Select when the form is ready to process transactions in your live Stripe account.
Your live Stripe account must be configured before live transactions can be processed. -
Customer contact (optional):
-
Email: The email contact of your customer.
The email will be used to find an existing Customer in Stripe.
If no match is found, a Customer will be added.
Required if the checkout link will be delivered by email. - Name: The name of your customer (optional).
- Phone: The phone number of your customer (optional).
-
Email: The email contact of your customer.
-
Customer address (optional): An address is required for Stripe Tax to calculate the tax amount.
The address can be populated here or the customer can add their address during checkout.- Line 1: Address line 1, such as the street, PO Box, or company name.
- Line 2: Address line 2, such as the apartment, suite, unit, or building.
- City: City, district, suburb, town, or village.
- State: State, county, province, or region (ISO 3166-2 without the country prefix).
- Postal code: ZIP or postal code.
- Country: Country (ISO 3166-1 alpha-2).
-
Customer tax ID (optional)
-
Type: The type of tax ID.
Must be one of the type options found here. - Value: The value of the tax ID.
-
Type: The type of tax ID.
-
Product(s): The product(s) that will be sold.
Select questions inside a Table or Repeatable to sell multiple products in one transaction.-
Lookup key: The lookup key of the Stripe Price (optional).
If provided, Name and Unit price will be ignored if a matching Price is found. -
Name: The name of the product.
If no matching Product is found in your Stripe account, one will be added. - Description: The description of the product (optional).
- Quantity: The quantity sold. Stripe supports only integer quantities.
-
Unit price: The price per unit.
If no matching Price for this Product is found in your Stripe account, one will be added.
-
Lookup key: The lookup key of the Stripe Price (optional).
-
Tax rate(s): Tax rate(s) to apply to the transaction (optional).
Use if you need to track tax in Stripe and do not use the Stripe Tax service to calculate tax.
To use a different rate for each product sold, point the Rate at a numeric field in the table that contains the Products.
To apply multiple tax rates, use a Table with a row for each tax rate.-
ID: The ID of the Product Tax rate from the Stripe dashboard.
If provided, the other Tax rate inputs will be ignored (optional). -
Type: The rate type that will be visible to your customer, e.g. 'Sales tax', 'VAT', or 'GST'.
If not specified, your default tax rate type will be used. -
Country: The country where the customer is located (ISO 3166-1 alpha-2).
If not specified, the customer's country and then your account country will be used. -
State: The State, county, province, or region where the customer is located (ISO 3166-2 without the country prefix).
If not specified, the customer's state will be used. -
Region label: The region label visible to the customer.
Often combines the country and state (e.g. 'US-NY').
If Country and State are specified, but this option is not, then a label will be calculated. -
Calculation: Either Inclusive to include the tax in the unit price or Exclusive (common in the USA).
If not specified, your default tax calculation will be used. - Rate: The rate of the tax in percent, e.g. 12 for 12%.
-
ID: The ID of the Product Tax rate from the Stripe dashboard.
-
General
-
Currency: The currency to use for the transaction (optional).
Your default currency will be used if not provided (ISO 4217).
If Adaptive Pricing is enabled for Checkout, your customers can pay in their own currency. - Reference: A unique reference for this transaction (optional).
-
Card payment descriptor: A description of the transaction that will be added to your customer's card statement (optional).
The first 10 characters of this value will be appended to your shortened statement descriptor. -
Promotion code: A customer facing promotion code (e.g. DISCOUNT10) to apply.
If no matching promotion code is found, no discount is applied (optional).
-
Currency: The currency to use for the transaction (optional).
Deliver checkout link: Select the method used to deliver the checkout link to the customer.
-
Email: Sends an email to the customer contact email address.
If no email is provided, a QR code will be displayed. - QR code: Displays a QR code the customer can scan that will direct their browser to the checkout link.
- On device: Opens the browser on your user's device to the checkout session.
-
Manual: The checkout link will not be delivered immediately.
An 'Open web page' Action button could be used to launch the link on your user's device, or the link could be delivered in a PDF report.
Returned from Stripe: Select destination fields to receive information returned from Stripe.
- Subtotal: The total of Quantity * Unit price for all Products sold.
- Discount: The amount of any discount applied.
- Tax: The tax amount.
- Total: The total to charge.
-
Checkout status: The current status of the checkout session.
One of 'open', 'complete' or 'expired'.
Payment may still be processing when the session is complete.
The 'complete' event will trigger a notification in the doForms app similar to "Checkout completed for 123.25 USD".
This field will update even after the form is submitted. -
Checkout status date: The date the checkout status was last updated.
This field will update even after the form is submitted. -
Payment status: The current status of the payment.
Either 'unpaid' or 'paid'.
This field will update even after the form is submitted. -
Payment status date: The date the payment status was last updated.
This field will update even after the form is submitted. -
Checkout session ID: The Stripe assigned ID of the checkout session.
Starts with "cs_". -
Payment intent ID: The Stripe assigned ID of the payment intent.
This will be populated after the customer completes the checkout session.
Starts with "pi_". - Checkout link: The URL where the customer can complete the checkout session.
Button text: The text that appears in the button.
Appearance
You can also modify the default button colors by going to the Settings tab and selecting Form appearance. Changing the default will modify how button appear in your form unless you select Custom and modify the setting for that one particular field.