How do I give a customer the option to pay now OR pay later?


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 give your customers the option to pay at checkout, or pay later by some other means. This may be useful if you would like to accept offline payments by cash or cheque, or simply want to charge customers at a later date.

To achieve this, you can use a single-form or multi-form approach.

The single-form setup is smoother, simpler, and keeps all your submission data in one place. We'll cover this approach below.

The multi-form setup uses Dynamic Success Pages & Redirects Logic, which is available on select plans. This approach will not be covered here.

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 whether they'd like to pay now or later. Your options could be something like "pay by card" and "send a cheque.”

    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. (Optional) Use a calculation to re-compute the form's total.

    The Calculations feature, available on select plans, makes tracking the amount owing for those who pay later much easier. If skipping this step, see 'Re-computing the form total without a calculation’ in the next section.

    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 = 
      {{ }} + 
      {{ }} +
      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 totalCustom 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 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.

Re-computing the form total without a calculation

You can skip Step 4 entirely to avoid using a calculation. In Step 5, set up your custom pricing rule to check the multiple-choice or dropdown question created in Step 3, so that if they opt to pay later, the form's total will be equal to 0.

Note that you won't have a calculation to sum up the owed amount, so you'll need to add up the total manually using submission data when you collect later payments.

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, you can set up authorized payments for future capture by following these instructions.

When 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 captureAuthorize 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.