Payment Support in Legal Signing
With Version 1.0, Legal Signing only 100% supports collecting payments as part of a Signing Workflow with the following scenario:
The user submitting the form initially is the only signer added to the Signing Workflow. Since in this case this is no different than a normal form submission in Gravity Forms, and there are no additional signers to get signatures from after, any payment feeds you have set up for the form can process without issue.
Any other scenario involving collecting payments is not officially supported at the moment.
Getting to 100% first-party payment add-on compatibility is our number one priority after launching 1.0, however, it requires changes in both Gravity Forms and Legal Signing to be done the right way the first time.
Since payment collection is a very serious matter and needs to be as bulletproof as possible for everyone involved, we made the decision to launch with this limitation until a better implementation was possible rather than implementing a substandard solution that we may need to support once the product is out in the wild in a legacy code fashion.
That being said, there are a couple less ideal workarounds you could do to implement payment collection in your overall flow in the mean time.
Have your signers pay before or after signing via a separate form
One very simple way to add payments to your overall flow would be using a separate form from where you’re using Legal Signing to collect payment. Depending on your overall flow this could be as simple or as complicated as you’d like to make it. Some examples:
- Manually send your user a form they can pay with either before or after they sign.
- Configure a notification on the form where you’ve set up Legal Signing to go to an email address (or addresses) of signers who completed the form and entered their emails that contains a link to a separate form to pay after signing is complete.
- Further chain together multiple forms that dynamically populate each other (similar to this example in Gravity Forms’ documentation). You could for example in the case of an apartment lease have an administrative only form you fill out initially on your end that collects information like rent, security deposit, etc. that then sends a notification submission to your first signer that is dynamically populated with the values you entered. They pay via that second form and are then are either sent another notification or displayed a link to the form where they’ll be signing via Legal Signing, dynamically populated again with any needed information from the previous forms.
Using Stripe Checkout
Note: This is not technically an officially supported solution and is not fully tested, so your mileage may vary and we recommend testing thoroughly if implementing.
One way we found during final development to use a first-party payment add-on in Legal Signing 1.0 when setting up Signing Workflows that involve multiple signers would be to use Stripe’s hosted checkout service Stripe Checkout with the Gravity Forms Stripe Add-On. This doesn’t utilize a payment field on the form, instead redirecting to a hosted checkout page on Stripe.com to collect payment, so it works around a lot of the reasons payments are not 100% supported for multiple signer workflows in version 1.0.
This method relies on conditional logic set up on the Stripe feed so it only processes when a particular signer in your workflow submits the form. For this you will need a text based field on the form that is totally unique to each signer to check against in the logic. In this example we’re using a three signer workflow where each signer has a Name field associated with them.
First, make sure each signer has one of your three name fields assigned to the corresponding signer and only that signer when configuring your field assignments in your Legal Signing feed.
Second, make sure you have the “Stripe Payment Form” option selected in the Stripe Add-On settings on the Forms > Setting > Stripe page
Third, create a Stripe feed for the form where you’re using Legal Signing, set up the various settings, and set up conditional logic similar to the following:
To break down the above:
- Make sure the option to only generate a PDF when payment is received is checked, in this situation this will further hold off generation until the Legal Signing workflow is 100% finished.
- Configure a conditional logic rule for each of the name fields.
- For the signer you want to pay, use the “is not” comparison operator; for the signers you don’t want to pay, use the “is” comparison operator. Leave all text fields on the logic rules blank.
The above will essentially only run when the signer where you’ve selected “is not” completes their part of the signing session. When that signer submits, they will be redirected to the Stripe Checkout hosted page to pay before being redirected back to see the form’s confirmation afterwards.
You may still see a redirect to Stripe being done for other signers in the workflow when they submit as the script from the Stripe Add-On to perform the redirect will still be output, but it will not actually redirect the user.