Payment information, collected using a third party partner.

Formsort does not store credit card information - we use the third-party payment provider to obtain a payment token that is provided as an answer. You are responsible for using the token to actually charge the customer.

As a consequence, if a user enters payment information and then reloads, their credit card information will not be visible, although the fact that it has been collected will be known, and they will be allowed to continue.


Stripe allows for simple credit card payments online. The Stripe Integration page guides you through enabling Stripe in your flow. Once you have entered Stripe credentials, simply select 'stripe' as a 'provider' for a Payment question.

If you do not wish to charge customers from within a Formsort flow, but rather, only aim to verify their card information, the Allow charging the card immediately option should be disabled.

If you do wish to charge customers from within a Formsort flow, the Allow charging the card immediately should be enabled. Once enabled, choose whether to charge users a fixed amount, or an amount calculated by a variable. From the flow, Users will be asked to input credit card information. After they enter their information, a Charge my card button will appear automatically

The amounts users will be charged must be defined as an integer representing the number of cents to charge the user. If you were hoping to charge, for example, $10.00, you would enter 1000. The same applies for money amounts calculated by variable.


Affirm is a payment option well-suited for large purchases - rather than charging the full amount upfront, customers can pay monthly to finance their purchases.

When the affirm payment provider is chosen for a question, you must set three values:

  • Production Affirm API key: Your production public API key.

  • Beta Affirm API key: Your sandbox public API key.

  • Lastly, the Checkout object template: The checkout object to pass to the Affirm integration. Note that this is a templated string, so you can use variable templating to set values within this JSON object, such as the price, the responder's billing address, etc.

Last updated