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 choose to trigger workflows only on successful payment.

Table of Contents

Setting up Payment Field

Start by adding the Payment field to your form.

 

When the Payment Settings pop-up appears:

  1. Under the Field Label box, add a label for the payment field.
  2. Choose whether to make the Payment field mandatory using the checkbox.
  3. Choose from the two Payment Types provided:
  • Fixed: Choose Fixed if you are looking to collect a fixed amount (Eg. registration fee) from your customers or if you want to use the formula field to calculate the fixed amount. 
  • Variable: If you choose Variable amount, your respondents will be able to edit the payment field. The respondents will be able to overwrite the specified value and enter an amount of their choice (Eg. Donation). You can specify a minimum amount or use the formula field to calculate the amount.
  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 USD (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 which gets 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 in 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, then 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 in 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 having to create 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 from the dropdown.
  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.
  3. Specify the Name and Address fields under Shipping Details which is optional.

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

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 are choosing 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 to 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 value for payment or autofill the Payment Amount with a formula calculated value.
  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 mobile payment app via Razorpay, there is a possibility that users are not redirected to the browser automatically after the payment. To capture the status of payment 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 as 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 then 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 value for payment or autofill the Payment Amount with a formula calculated value.

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 value for payment or autofill the Payment Amount with a formula calculated value.

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 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