Payments

Can I automatically send a Stripe receipt to my customers when they pay on a form?Can I capture a payment and process it later?Can I change the message for "sold out" products?Can I have a payment field that doesn't take payment, like a quote or order form?Can I make Prices, Products, or Subscriptions discountable?Does Paperform support 3D Secure payments?How do I enable Google Pay on my Stripe checkout?How can I accept payments or donations on my form?How can I add and configure a Price field on my form?How can I add calculated shipping on my form?How can I add complex tax to my form?How do I add and configure products on my form?How do I add or manage payment accounts so I can take payments?How do I charge my customers fees/taxes on my form?How do I choose what currency my form payment is in?How do I connect and configure a Stripe account?How do I connect and configure Square Payments?How do I connect Paypal with Braintree and Paperform?How do I enable 3D Secure for Braintree payments?How do I enable PayPal as a payment method on my form?How do I export products?How do I give a customer the option to pay now OR pay later?How do I give discounts or coupons on my forms?How do I manage product stock on my form?How do I set up recurring payments or subscriptions?How do I add sales tax to payments?How do I connect a Paypal Business Account?How do I connect and configure a Braintree account?How do I import products?How do I set up Custom Pricing Rules?Is Apple Pay supported?How do I send a receipt when the form is submitted?What is the Stripe subscription verification charge?Using 3D Secure payments with Stripe subscriptionsWhat payment methods are available with Stripe?

You can use a single-form or multi-form approach to provide your customers the option to pay now or later. Note that the "pay later" part needs to be completed at a later date either on another form or on another service entirely.

The single-form approach is smoother, simpler, and keeps all your submission data in one place, so we'll cover that.

While the single-form approach doesn't technically require at least Pro for calculations, it will make things much easier when you have to determine the amount that those who opt to pay later owe. However, you can get by on Essentials if you want to add up their total from the submission data manually.

For the multi-form approach, you need at least Pro to make use of dynamic success pages for the conditional redirects. This approach will not be covered in this article.

Paying now or later using a single form

  1. Build up the form's total.

    Create a form and add price questions, product questions, or custom pricing rules to apply something to the form's total.

  2. Select a payment account.

    Ensure you have the desired payment account selected in Configure → Payments or connect a payment account.

  3. Ask the customer when or how they'd like to pay.

    Add a multiple-choice or dropdown question that asks the customer something similar to whether they'd like to pay now or later. Alternatively, your options could be something like "pay by card" and "send a check."

    The point isn't exactly what you call your options. Rather, it's about providing the customer a choice to either process their payment now through the checkout or pay some other way later.

  4. Use a calculation to re-compute the form's total.

    In a calculation question, you'll need to pull in answers for

    • Product questions
    • Price questions

    and compute any costs that your custom pricing rules do, but in the calculation itself.

    Our calculation might look something like

    isPayingLater = {{ multipleChoiceKey }} == "Pay later";
    total = 
      {{ productKey.total }} + 
      {{ priceKey.total }} +
      switch({{ anotherMultipleChoiceKey }}, "Basic", 5, "Premium", 10, "Premium+", 20);
    
    if(isPayingLater, total, 0);
    

    The calculation performs the following steps:

    • Check if the customer wants to pay later by checking if they chose the corresponding answer in the question where you ask them if they're paying now or later.

    • Calculate the total within the calculation, including:

      • product totals
      • price totals
      • values that your custom pricing rules might be handling, such as packages from a multiple-choice question
    • If the customer is paying later, return the total. Otherwise, return 0.

    The next step will show why this part works this way.

  5. Conditionally zero out the form's total.

    In a custom pricing rule, construct a rule that subtracts the calculation's value when the calculation is answered.

    Custom pricing rule for conditionally zeroing out the form's total

    This allows the calculation to determine whether the form's total will be 0 or if it will be untouched. If the form's total is 0, checkout is skipped, allowing customers who wish to pay later to submit the form without entering any payment information.

    Additionally, the calculation has the added benefit of containing what what would have been the form's total. Since it requires you to emulate the form's total to subtract it, its answer ends up being the form's total for those who elected to pay later, giving you an easy point of reference for what to charge those customers since the actual form total was 0 for that submission.

I'm on Essentials and want to use this, or I don't like calculations

Technically, you can, as mentioned at the beginning of the article.

You can skip Step 4 entirely and instead use a pricing rule that checks the multiple-choice question where you ask whether the customer would like to pay now or later. Set your rule up so that if they opt to pay later, the form's total will be equal to 0.

However, you won't have a calculation to fall back on for what would have been the total, so you'll need to look through the submission data and manually add up what you need to charge those customers.

Authorizing payments for future capture with Stripe or PayPal

Alternatively, if you have connected and configured a Stripe or PayPal Business account on your form, then you can toggle on the option "Authorize payment for future capture". When this is enabled the payment will not be charged immediately; rather it will be authorized and can be processed or canceled later via the Stripe or PayPal Dashboard.

Authorize payment for future capture

Note: Please check with your payment gateway for more details on how long you have to capture a payment before it automatically falls off.