Support How-To: Multiple Payment Methods

Written by Amy Jorgenson on February 14, 2013

Posted in Form Hacks, Payment Processing

Sometimes, it is necessary for you to offer multiple methods or options of payment on your form. By this I mean: credit card, check by mail, pay now, pay later (Invoice), cash at the door, credit card on-form vs. credit card off-form through a payment processor redirect (i.e. PayPal), etc.

You may also be dealing with multiple payment processor integrations that you’d like to use for different types of payments – PayPal Standard for total orders under $100.00 (because PayPal Standard is a free service) and Authorize.net (on-form payments) for all orders above $100.00 (because these more expensive orders make the cost of Authorize.net worth it). Whatever the reason, this can all be accomplished by setting up some Conditional Logic on your form fields and applying Smart Routing on your Submit Actions. It is important to note, if you are attempting to add multiple payment options, you MUST apply smart routing. It is not optional. The form will not function as intended if you don’t.

So here’s the scenario based on many of our Formstack users form usage…

You are creating a registration or order form. First, you want people to be able to “Pay Now” or “Pay Later” (invoice through Freshbooks). Then, you want to give them the option to pay by “Check/Cash” via mail or at the door, by “Credit Card” on-form, or via “PayPal (Account Transfer or Credit Card via PayPal Gateway)” (<– redirect).

And here’s how we set it up…

Step 1:
Create a field asking individuals if they want to “Pay Now” or “Pay Later (Invoice)”. I recommend using either a Select List or Radio Button for this field, but you can also use a Checkbox field. I will be using Radio Button fields. Make this field required since other fields are dependent upon a selection. It would look something like this:


Step 2:
Create a payment method field to determine payment type. Also make this field required and set conditional logic (Logic tab inside the field) on it to only show if “When would you like to pay?” is “Pay Now”. This field would look something like this:


Step 3:
Create four Description Area Fields to provide further explanation of the above options and apply Conditional Logic to them →

Invoices:
Create a Description Area field stating the invoice details. Apply conditional logic to the field to only show if “Pay Later (Invoice)” is selected for the “When would you like to pay?” field. That way, there are no more fields are displayed. They can click the Submit Button and the process ends there.

PayPal Account Transfer or Credit Card via PayPal Gateway (redirect):
Create a Description Area field with a brief description letting individuals know they will be redirected to PayPal Standard to complete their payment process either via Credit Card or a PayPal Account Transfer. This is helpful because some individuals get confused when they are not prompted to pay before clicking Submit. Set conditional logic on this field to only show if “Payment Method” is “PayPal Account Transfer or Credit Card via PayPal (redirect)”.

Checks by Mail:
Create a Description Area field that includes address details and instructions for mailing in checks. Set up conditional logic on this field to only show if “Payment Method” is “Check by Mail”.

Cash/Check at the Door:
Create a Description Area field with further details on your location and where to bring Cash/Checks that are being hand-delivered. Set the conditional logic on this field to only show if “Payment Method” is “Cash/Check at the Door”.

Step 4:
Create a Credit Card field (standard field in Form Builder tools), an Expiration Date field (Date field), and a CVC field – use a Short Answer field for the CVC field because some CVC numbers begin with “0” and the Number field will not accept “0” as the first digit. Set conditional logic on all three of those fields to only show if “Payment Method” is “Credit Card”.

Step 5:
Now it’s time to add your integrations. To do this, go to Settings > Integration Hub. To add Freshbooks for invoicing, choose “Accounting”. For payment processors, choose “Payments”.

You can choose from the following payment processor integrations for your on-form credit card processing: Authorize.net, PayPal Pro, FirstData, PayPal Payflow Pro, Stripe, Chargify, or Beanstream. Once you select one, simply click “add” on the integration. Set up the integration with your account credentials and map your billing fields and your “price/total” field.

And, you will also need to integrate PayPal Standard to process PayPal Account Transfers and handle the off-form credit card processing.

Step 6:
Set up your Smart Routing. I chose Freshbooks for invoicing (“Pay Later (Invoice)”), Authorize.net for on-form credit card processing and PayPal Standard for PayPal Account Transfer/Credit Card processing via PayPal Gateway. That being said, you will need to go the the Settings > Emails & Redirects tab and look in the After the Form is Submitted box at the bottom. You will notice that three submit actions were created for these three integrations. We need to edit each one to occur only at the appropriate instance based on our payment options and methods.

Click on the title of each Submit Action and select to add Smart Routing.

For the PayPal redirect, we need the integration to run/occur only if “Payment Method” is “PayPal Account Transfer or Credit Card via PayPal (redirect)”.

For Freshbooks, we need it to run/occur only if “When would you like to pay?” is “Pay Later (Invoice)”. And finally, for Authorize.net, we need it to run/occur if “Payment Method” is “Credit Card”.

Once you have these set, you can also include a fourth Submit Action – a default or custom “thank you” message if you’d like. This will occur after the form has been submitted, indicating a successful submission and thanking individuals for submitting the form. Since this action is a “redirect” from the actual form itself, you cannot use this in conjunction with the PayPal redirect because you cannot have two redirects at the same time. To allow for this, you will also need to add Smart Routing on the “thank you” Submit Action to occur if “Payment Method” is NOT “PayPal Account Transfer or Credit Card via PayPal (redirect)”. That way, all other instances besides those ending in the PayPal redirect will see the message.

And there you have it, a fully functioning, multi-payment method/option form! Of course, these payment options/methods and integrations can be switched around, but the concept is still the same – off-form and on-form credit card processing, payment via PayPal account transfer, payment at a later time (invoicing), and/or by check/cash via hand-delivery or mail.