Payment Options

Payment Options

You can collect payments through your form with the Payment field. The payments will be processed through third-party merchants. You can also configure formulas to calculate the payment amount and trigger workflows only on successful payment.

Table of Contents

Setting up a Payment Field

To configure a payment field, add a Payment field from the Advanced Fields to your form.

 

 

When the Payment Settings pop-up appears:

  1. Under the Field Label box, add a label for the payment field.
  2. To mandate the payment option in your form, select the Mandatory option. 
  3. Choose from the two Payment Types provided:

​Fixed Amount

If you are looking to collect a fixed amount that cannot be modified by your respondents, choose Fixed Amount as the payment type. For example, if you want to collect a registration fee for your workshop, you can choose this payment type to collect a fixed fee that cannot be modified in the live form. You can either enter the fixed amount or auto-fill the amount from a form field.

Modifiable Amount

If you are looking to collect payments that are not fixed, choose Modifiable Amount to allow your respondents to modify the payment amount. For example, if you wish to collect donations, you can choose this payment type to let your respondents donate an amount of their choice by modifying any specified amount. You can either enter the modifiable amount or autofill the amount from a form field. 

If you choose to enter an amount range, 

  1. Enter a minimum amount that your respondents must pay under Min. Amount. Min. Amount is mandatory to ensure that the amount cannot be modified to 0 by the respondents. 
  2. If you wish to set a limit on the maximum amount that your respondents can pay, enter the Max. Amount. Setting a maximum limit for the payment amount will prevent any unintentional large payments.
  3. You can also enter a Default Amount that will be displayed to the respondents when the form loads initially and also when you switch merchants in the live form. By specifying a default amount, you may probably receive payments as specified. Respondents can, however, overwrite the default amount displayed and enter an amount of their choice within the set minimum and maximum range.

If you choose to autofill the modifiable amount from a form field, 

  1. Select a form field from the drop-down. The field responses will be used to autofill the payment amount. The respondents can overwrite the auto-filled amount in the live form and enter a value of their choice.
  2. If you wish to set a limit on the minimum and maximum amount that the respondents can pay, select Set Range and enter the minimum and maximum values. Setting a range for the payment amount will ensure that you do not receive payments that are too low or too high.
  3. You can also enter a Default Amount that will be displayed to your respondents if the chosen form field to autofill the amount is empty when the form loads initially or when you switch merchants.
  4. You can use the Autofill from Form Fields option when you want to use the field responses to pre-fill the payment amount. For example, in an order form, you can charge your customer based on the product he chooses from a drop-down list.

Supported Field Types to Autofill Payment fields

Number, Decimal, Currency, Slider, Rating can be used to autofill the Payment Amount. You can also use Radio, Checkbox, Multiple Choice, Dropdown, and Image Choice fields if you've assigned values to these fields

  1. Payment Gateway: Under this section, select the third-party merchants you would like to use from the drop-down list. We've integrated with:

You can configure payment settings for all four merchants if you wish to provide your customers with the option of paying through the payment merchant of their choice.
Choose a merchant from the Payment Gateway dropdown.  For multiple payment options, click Add Merchant and select another gateway.  After this, each merchant has its own setup process:

PayPal Standard

If you've selected PayPal Standard,

  1. Enter your Account Name and specify the Payment Amount.
  2. Choose the required Currency from the dropdown.
  3. Specify in the checkbox whether you're in Sandbox Mode.

If transactions made in Paypal are not reflected in your Entries, then:

  1. Log in to your PayPal account.
  2. Go to your profile.
  3. Look for the "PayPal button language encoding" section under the My selling tools.
  4. Make sure your website language is set to the correct language.
  5. Click the more options button.
  6. Make sure encoding is set to UTF-8
  7. Save the settings.

Note: If you've configured the Payment field using PayPal Standard, your form respondents can make payments directly using a credit card, without having to create a PayPal account (applicable to certain regions only.) Learn more.

Currencies supported by PayPal Standard

INR, USD, AUD, BRL, CAD, CZK, DKK, EUR, HKD, HUF, ILS, JPY, MYR, MXN, NZD, NOK, PHP, PLN, SGD, SEK, CHF, THB, GBP

PayPal Checkout

If you've selected PayPal Checkout,

  1. Enter your PayPal Client ID and Client Secret. Click here for the steps required to obtain Client ID and Secret.
  2. Choose the required Currency ​from the drop-down menu.
  3. In the Payment Amount box, specify the required amount. PayPal requires a minimum of $5 (or its equivalent amount in other currencies) for transactions.
  4. Check the Sandbox Mode checkbox if you want to test payments in sandbox mode.
  5. Under Description, you can customize the message included in PayPal's "Description" section of the email sent to the payers upon successful transactions.
  6. From the Shipping Preference drop-down menu, select any of the following three options:
    • No Shipping: Select this option if you have no shipping preference.
    • Payer-editable Address: This preference will provide your form responder with the option of editing their shipping address on PayPal's payment page. You can also choose to map PayPal's Name and Address fields with the relevant form fields as shown below-​

    Note: ​If you haven't mapped PayPal's Address field with the relevant form field, then the default address from your form responder's PayPal account will be used on the payment page. If the responder has not provided any address in his/her PayPal account, they will still be able to provide an address on the payment page.

    • Fixed Address​: This preference will not provide your form responder with the option of editing their shipping address on PayPal's payment page. After selecting this option, map PayPal's Name and Address fields with the relevant form fields as shown below-​​

    Note: 

    • Form respondent's entry in the form's Address field will be used as the shipping address on the payment page.
    • To avoid transaction failure, the form's Address field being mapped with PayPal should be set as mandatory and not be hidden.
  7. Under Payer Information, select the required form fields from the given drop-down menus. Entries received under such fields will pre-fill payer information during the payment process.

To obtain PayPal Client ID and Secret,

  1. Go to PayPal and click Log in to Dashboard button (If you're already logged in, go to the step given below.)
  2. Under DASHBOARD, go to My Apps & Credentials.
  3. Select Sandbox or Live, depending on your requirement, and click Create App button.
  4. In the next screen,
    • If your selection is Sandbox, enter a name in the App Name box. Then, make a pick from the Sandbox Business Account drop-down menu and click Create App button.
    • If your selection is Live, click Create App​ button. In the next screen, enter a name in the App Name box and click Create App button.
  5. Now, you can copy the Client Key and Secret credentials from the newly-loaded screen.

Note: 

  • If you've configured the Payment field using Paypal Checkout, your form respondents can make payments directly using a credit card without creating a PayPal account.
  • Based on the region and availability, PayPal Checkout supports the following modes of payment: PayPal, Credit or debit cards, PayPal Credit, Venmo, SEPA-Lastschrift, Bancontact, EPS, Giropay, iDEAL, MyBank, Przelewy24, and Sofort.

Currencies supported by PayPal Checkout

INR, USD, AUD, BRL, CAD, CZK, DKK, EUR, HKD, HUF, ILS, JPY, MYR, MXN, NZD, NOK, PHP, PLN, RUB, SGD, SEK, CHF, TWD, THB, GBP

Stripe

If you have chosen Stripe,

  1. Under Account Information, enter your Publishable and Secret keys.
  2. Choose the required Currency in which you would like to collect payments. 
  3. Specify the Payment Amount.

Under Payment Information, you can specify the details to be shown in the Stripe dashboard.

  1. You can merge form responses into the Description and personalize it. Click the ​ icon and choose the required fields from the drop-down list.

  2. From the Mail Receipt to dropdown, choose the required Email field. Stripe will send the receipt of the transaction to this email address.

Under Shipping Information, you can include the Name and Address of your customer. If you choose to include shipping details, then both the Name and the Address fields are mandatory

Under Customer Information, you can include the Email, Name, Address, and Phone Number of your customer by mapping them to your form fields. A new customer with these details will be created in your Stripe account each time a payment is received via Zoho Forms. 

Note: This is a mandatory step for Indian users accepting international payments. Learn more

Currencies supported by Stripe

INR, USD, AFN, ALL, DZD, ARS, AUD, BSD, BDT, BBD, BMD, BRL, BGN, CAD, CLP, CNY, COP, CRC, HRK, CZK, DKK, DOP, XCD, EGP, FJD, EUR, HKD, HUF, ISK, IDR, ILS, JMD, JPY, KES, KRW, LBP, MYR, MUR, MXN, MAD, NZD, NOK, PKR, PEN, PHP, PLN, QAR, RON, RUB, SAR, SGD, ZAR, LKR, SEK, CHF, TWD, THB, TTD, TRY, AED, GBP, VND, GTQ, TZS, ANG, HNL, MMK, PAB, XPF, UAH, NGN, PGK, UGX, KYD, XAF, XOF, AOA, NIO, BZD, RSD, PYG, LAK, GMD, UYU, BWP

2Checkout

If 2Checkout is your chosen merchant,

  1. Enter your Account Number and Secret Word.
  2. Specify the Payment Amount, and choose the required Currency from the dropdown.

Currencies supported by 2Checkout

INR, USD, AUD, BRL, CAD, DKK, EUR, HKD, HUF, ILS, JPY, MYR, MXN, NZD, NOK, PHP, PLN, SGD, ZAR, SEK, CHF, TRY, GBP

Razorpay

If you choose Razorpay as your merchant, you must authorize your Zoho Forms account to access your RazorPay resources using OAuth authentication. If you have already configured your form with RazorPay using Key ID and Key Secret, you can switch to OAuth authentication. 

  1. Configure OAuth Authentication (while configuring Razorpay first time)
  2. Switch to OAuth Authentication (for already configured Razorpay payment field)

In your live form, the amount and the merchant icon will be displayed. When the respondents submit the form, they will see a RazorPay Widget to make the payment.

OAuth Authentication

OAuth Authentication lets you connect your form with Razorpay using secure access tokens instead of Key ID and Key Secret and provides secure access to the Razorpay resources via token-based authentication. 

1. Configure OAuth Authentication (while configuring Razorpay first time)

If you are configuring your Form with Razorpay for the first time,

  1. Click Authenticate to grant Zoho Forms access to connect with your Razorpay account.

  1. In the Pop-up, enter OAuth Name and select the Mode of Authentication to be either Sandbox or Production.

Note: We recommend that you enter a meaningful OAuth Name. This name will be for your reference to identify the OAuth.

  1. Click Proceed.
  2. You will be redirected to the RazorPay window. Click Authorize to allow Zoho Forms to securely access your RazorPay account to make read/write operations while processing payments.
  3. Once authorized,  you can view a list of authorized RazorPay accounts in the OAuth Authorized with dropdown in your Zoho Forms Payment field configuration.
  4. To authorize a new RazorPay account, click  + New Connection in the dropdown.

  1. Enter the Payment Amount.
  2. Under Prefill Information, you can include Email and Phone from the form fields. This information will be prefilled in the merchant site.
  3. Click Done.

2. Switch to OAuth Authentication (for already configured Razorpay payment field)

If you have already configured your form with Razorpay using Key ID and Key Secret and would like to authorize Zoho forms to access your Razorpay account using OAuth authentication,

  1. Click Authenticate OAuth on the top-right corner of the Payment Gateway configuration.

  1. In the Pop-up, enter OAuth Name and select the Mode of Authentication to be either Sandbox or Production.

Note: We recommend you enter a meaningful OAuth Name. This name will be for your reference to identify the OAuth.

  1. Click Proceed.
  2. You will be redirected to the RazorPay window. Click Authorize to allow Zoho Forms to securely access your RazorPay account to make read/write operations while processing payments.
  3. Once authorized, you can view a list of authorized RazorPay accounts in the OAuth Authorized with dropdown.
  4. To authorize a new RazorPay account, click  + New Connection in the dropdown.
  5. Enter the Payment Amount. You can either set a fixed amount for payment or autofill the Payment Amount with a value from a form field.
  6. Under Prefill Information, you can include Email and Phone from the form fields. This information will be prefilled in the merchant site during payment.
  7. Click Done.

Note:

  • A maximum of 3 Razorpay accounts can be authorized with each Mode of Authentication (Sandbox or Production).
  • If you have a custom domain, you must complete the KYC Review Process for your domain with Razorpay to receive payments. Read more
  • If the form ownership is changed to a different user, RazorPay OAuth authentication will have to be re-configured.

Configuring RazorPay Webhook

When a payment is made through a mobile payment app via Razorpay, there is a possibility that users are not redirected to the browser automatically after the payment. To capture the payment status in such cases (delayed authorized payment, failed payment, payment success), you can configure a webhook while setting up the payment field using Razorpay as your merchant account. 

Generating webhook URL

To capture the payment status:

  1. Select Capture status via webhook under Webhook Configuration.
  2. Enter a secret key of your choice under Secret. The key must consist of at least 5 characters.
  3. A webhook URL will be provided. 

  1. Click Save. 
  2. A popup containing the webhook URL will appear once upon clicking save.
  3. Copy the URL. 

Once you have finished configuring the webhook URL, go to your Razorpay settings and follow the steps shown below.

Configuring the webhook in RazorPay Settings 

  1. Go to your Razorpay Account's Dashboard and navigate to Settings.
  2. Under the Webhooks tab, click Setup your Live Webhook.
  3. Paste the copied Webhook URL in the textbox provided and select Active
  4. Enter the Secret Key. This is the key that you have setup under the Payment settings in your form builder.
  5. Under Active Events, select payment.failed and order.paid options.
  6. Click Save.

Note: If you enable multiple events under Active Events, Zoho Forms will receive unnecessary payment-related requests from Razorpay.

Checking payment status in Zoho Forms

When a payment is made, you can check the Payment Status of a record under All Entries Payment Status.

Note: 

  • Payment status via webhooks will be updated as long as your webhook is active.
  • Payment status will not be updated if there is any mismatch in the Secret key entered.
  • Once the webhook is configured, Razorpay will trigger the webhook to Zoho Forms each time the merchant account receives payments (irrespective of the service used for payment via RazorPay).

Revoke OAuth Access Token

To unlink your Razorpay account from your Zoho Forms account, you can remove the OAuth access token from the Control Panel. To do so, 

  1. Click your profile picture on the top right corner and click Control Panel.
  2. In the control panel, Click Access Tokens
  3. Hover your mouse pointer over Razorpay and click the Delete icon.

Currencies supported by Razorpay

INR

Authorize.Net

If you have chosen Authorize.Net,

  1. Enter your API Login ID and Transaction Key.
  2. Enter the Public Client Key. To obtain this,
    • Login to https://account.authorize.net/ using an administrator account.
    • Navigate to Account > Settings > Security Settings > General Settings > Manage Public Client Key.
    • Enter the secret answer to your secret question in the section CreateNewPublicClientKey and click Submit. The client key is shown as a string.
  3. Choose the required Currency from the dropdown.
  4. Specify the Payment Amount.
  5. You can test your payment gateway with your form using Sandbox mode. Note that it is a test mode, and the payment made through this will not involve real transactions. To do this, you will need to create an account in https://developer.authorize.net/hello_world/sandbox/. To know more, click here.
  6. Under Payment Information, specify the details to be shown in your Authorize.Net dashboard.
  7. You can merge form responses into the Description and personalize it. Click the ​ icon and choose the required fields from the drop-down list.

  8. Click the MailReceipt to dropdown and choose the required email field. Authorize.Net will send the receipt of the transaction to this email address.
  9. Specify the Name and Address fields under Shipping Details (This is optional).

Note: Under ShippingDetails, if you have included the Name, you must also include the Address and vice versa.

Currencies supported by Authorize.Net

USD, CAD, CHF, DKK, GBP, EUR, NOK, PLN, SEK, AUD, NZD

Paytm 

If you have chosen Paytm,

  1. Enter your Merchant ID and Merchant Key.
  2. Enter the Website provided by Paytm from your Paytm Dashboard
  3. Choose the required Currency from the drop-down.
  4. Enter the Payment Amount. You can either set a fixed amount for payment or autofill the Payment Amount with a value from a form field.

Note: A minimum amount of 1 INR must be given under Payment Amount.

  1. You can test the payment gateway with your form using the Sandbox Mode.

Note

  • Sandbox mode is a test mode, and the payment made through this will not involve real money transactions. 
  • Use Test API Details from your Paytm Dashboard for the sandbox mode. 
  1. Under User Information, you can autofill the Email and the Phone Number of your respondent by selecting the Email and Phone fields in your form. This information will be pre-filled while checking out on the merchant site.

Currencies supported by Paytm 

INR

Instamojo

If you have chosen Instamojo,

  1. Under Account Information, enter your Private API Key, Private Auth Token, and Private Salt.
  2. Select the required Currency.
  3. Enter the Payment Amount. You can either set a fixed amount for payment or autofill the Payment Amount with a value from a form field.

Note: A minimum amount of 9 INR must be given under Payment Amount.

  1. To test the payment gateway with your form, select Sandbox Mode. Payments made using the sandbox mode will not involve real transactions.

Note: Create a Sandbox account on https://test.instamojo.com and use the test API credentials for testing in Sandbox Mode.

  1. Under Payment Information, enter a Purpose for the payment.You can merge form responses with the purpose by clicking the  icon. The Purpose will be shown to the respondent while making the payment.
  2. Under Prefill Information, you can include Email, Name, and Phone of your respondent from the form fields. This information will be pre-filled in the merchant site during payment.

Note: The Payment Request ID generated when a new payment request is created will be stored as Order ID, and the Payment ID generated when the respondent makes a payment against a payment request will be stored as Txn ID in Zoho Forms.

Currencies supported by Instamojo

INR

Workflow

By checking this box under Workflow, the following actions will get triggered only in case of successful payment:

  • Approval processes
  • Email notifications
  • Rules configured for assigning tasks and sending emails
  • Integrations

Share this post : FacebookTwitter

Still can't find what you're looking for?

Write to us: support@zohoforms.com