Hello everyone,
We have been sharing a tip every week to address specific business scenarios which can be implemented for your subscription business. Last week, we shared a tip about
accessing external URLs from Zoho Subscriptions. This week, we will be looking at
how you can integrate online forms with Zoho Subscriptions.
Business Scenario:
In many subscription box businesses, their primary need is to personalize the subscription box according to their customer's preferences. In such cases, businesses will collect their customers' preferences before they check out.
Usually, businesses use online form building applications to collect customers' preferences. These applications offer customization options which helps businesses to design the form so that it's easier for customers to select their preferences. The forms usually contain a series of questions with multiple choices.
Typically, when customers want to subscribe to a box, they select the box, choose their preferences and the business will redirect them to the payment page. Here, they pay and a subscription will be initiated for them.
In Zoho Subscriptions, we provide the
Hosted Payment Page to collect the customer's payment information securely which can be used as the checkout page. However, in this scenario we're looking at today, the business would ideally want to integrate the form building application with Zoho Subscriptions to save customers' preferences along with the subscription details.
Let's consider the following scenario to understand this better. Zylker Beauty runs a subscription box business that ships personalized makeup and beauty products every month. They use a third-party online form builder to collect the customers' preferences like the color of their eyes, hair etc. This helps the business to find the right products for their customers.
After the customers select their preferences, Zylker Beauty uses Zoho Subscriptions' Hosted Page to check them out and start their subscription. However, they need their customers' preferences to be saved along with the corresponding subscription details in Zoho Subscriptions.
To implement this process, we use the API Hosted Page which saves customers' preferences and generates a customized payment URL. The customized payment URL will reflect the customer's preferences. This way, the business can use the form builder application to customize the form and integrate it with Zoho Subscriptions at the same time.
How can you do it?
For our explanation today, we will be using JotForm as the form builder. You can view the form that we've built to address the above scenario. JotForm lets you send the submitted date (customer's preferences) via a HTTP POST method. All you have to do is:
- process the submitted data;
- send it to Zoho Subscriptions server; and
- redirect the customer to the customized Hosted Payment Page.
In Zoho Subscriptions, we will create
Custom Fields for the Subscriptions module to save the customer's preferences and map those preferences to the custom fields. You have to write a script to send an API call to Zoho Subscriptions server with all the data obtained from the form and retrieve the customized hosted payment page URL. Later, you can load this URL for your customers to check out.
There are two ways in which you can do this;
1. Create a custom PHP page:
You can create your PHP script and deploy it in your server to process the submitted date. Access the code in
GitHub.
2. Use Google Cloud Function:
If you cannot host a PHP script in your website, don't worry.
Google Cloud Functions can act as your script that processes the submitted data.
You can invoke the cloud functions with HTTP requests and configure them to meet our need.
Learn more about cloud functions and get started. Once you complete the initial setup and enable the Cloud Functions API, follow the steps below:
- Visit Google Cloud Functions and click the Create Function button at the top.
- Provide a suitable name for the function and select the Trigger as HTTP.
- The source code would be written in the Inline Editor with Node.js 6 runtime environment. So, configure them accordingly.
- Next, copy the code from GitHub and modify it to suit your needs.
- Create the function and configure the HTTP trigger URL in the JotForm's Thank You page.
Once the Thank You page of JotForm is successfully configured to redirect to one of the above URLs, the script will be executed successfully and your customers will be redirected to the hosted payment page to check out.
For further clarification, you can checkout this
video to understand this integration.
Found this useful? Try it our for your subscriptions business and let us know. If you have any queries, feel free to comment below. We are here to answer them.
Cheers,
Sasidaran K,
Zoho Subscriptions.
Recent Topics
Is this possible with Campaigns?
My company is currently moving CRM's from Monday to Zoho One. Currently, our marketing lead process is send out 7 sms messages over 14 days if the lead is in a certain status. If we don't get a response the lead is put into a "Closed" status. Do we buy
Error 403: Forbidden When Updating Email Signature via API
Hi Zoho Desk team, First, congratulations again on the excellent Zoho API. But, I’m encountering an issue while attempting to update an email signature via the API. Whenever I make a request to update the signature, the response returns an HTTP 403 Forbidden
Opening & working multiple tickets
We work in multiple tickets at the same time. Currently to do this, we have to open multiple instances of Desk. Is there a way to do this by just opening multiple ticket tabs within 1 instance of Desk?
Different content per social media account..
Is there a way to add different content per social media account on one post?
Merge tickets
Hello, I am attempting to merge two tickets; however, the option to merge does not appear to be available. Could you kindly confirm if this feature has been relocated or removed? Additionally, could you please provide guidance on the correct process to
Add "Merge by Ticket ID" Option on Ticket Screen
Dear Zoho Team, We would like to request a new feature for the ticket interface in Zoho Desk. Specifically, we propose adding a button to the ticket screen that allows users to merge the current ticket with another ticket by directly providing the second
Using tickets to train Zia
Hi Team, I would like to know if there is any way that Zia can also learn from previous tickets in addition to the articles from the knowledge base. Since we have most of our knowledge curerently in the tickets and that this is hard to combine into a
Unable to delete Junk Lead and Not Qualified from the Lead Status field
Are Junk Lead and Not Qualified default fields or something that cannot be deleted? I have gone into the Leads module and made sure there are no records using these values. Other values have a minus sign that allows me to remove them, but these two fields do not have that option.
Welcome Link Expired
Hi The links sent to the users didn't get clicked on in time and now all the links have expired. Is there a way to send a new link without deleting them and re-adding them>
Alert for Back Navigation in Zoho Creator Widgets on Mobile Apps
In Zoho Creator widgets, when a user navigates back on mobile devices, the data within the widget is reset. This leads to a loss of any unsaved changes or inputs, causing frustration for users. To enhance user experience, we need to implement a confirmation
Zoho Developer Community Monthly Digest - December 2024
Hello everyone! As we step into the new year, let’s reflect on the strides we’ve made together and gear up for the exciting opportunities 2025 holds. This month’s digest highlights key updates, engaging discussions, and upcoming events designed to keep
Allow "add new" option to picklists and multiselection fields from add or edit pages
Hello zoho, please insert an add option (ie +)sign) to pick and multiselect fields so we can add new options while entering or editing records. For example. in my lead module, while adding a new record, I realized I had a new lead source. I went to my
Need warehouse listed on packing slips
We ship from several locations, and have a separate warehouse set up for each location in Zoho. I need the warehouse related to each SO to show up on the packing list. How do I make that happen?
Enhancements to Zoho Corp Help Center "Team Requests" View
Dear Zoho Team, I hope this message finds you well. The ability to view both my tickets and my team’s tickets in the Zoho Corp Help Center is a fantastic feature, especially as the focal point for Zoho in our organization. However, we’ve encountered a
We've revised the pricing model of CRM portal user licenses
Hello everyone, We’re making important updates to our pricing structure for portal user licenses, effective from the next payment cycle. The new slab-based pricing is as follows: Previously, these portal user licenses were priced at $5/ user/ month. As
Zoho and Hostaway webhok integration.
I want to receive data coming from hostaway webhook and receive it in zoho crm to create or update record in a module based on conditions. The hostaway webhook sends data every time a reservation is created or modified or cancelled. The hostaway sends
A recap of Zoho Sprints 2024
Unable to create custom fields for shipment order
I'm unable to create custom fields for shipment orders, even though the custom fields are set up correctly. A request to the following endpoint: https://www.zohoapis.com/inventory/v1/settings/preferences/customfields?organization_id=${ZOHO_ORGANIZATION_ID}&entity=shipment_order
Records per page in New UI
It seems the new UI lack of "Records per page" function, it is very handy if you are looking for a data that you don't know the exact search term, but you know it may "between" few entries. without a "page" function, we kind of have to keep page down and page, the autoload is not that fast, and you are dealing with thousands of entries. Could we please have the "records per page" function back to New UI (also it shows total counts of the record) Looking forward to hear from you.
zet pack not working
We are using the zet pack command to package our Zoho extension. However, after running the command, the extension gets packed, but the resulting package is empty. We've attached a screenshot for reference. Could you please assist us with resolving this
CSV File Added to Form - Parse and Map to Fields
Hi, I apologize, I can't seem to find a clear explanation or help article on how to parse a CSV file. On validate, I process this deluge script. fileContent = Collection(input.File_upload.content); result = fileContent.values(); info result; What I want to do is create a record (in another form), and map certain fields to fields in the form. I can get values, which is the whole file but no keys. If I use result = fileContent.keys(); I get "0" As you can see from CSV, my first line is my map and
Encountered an error while creating a bill in Zoho Inventory: {"code":6,"message":"Invalid data provided"}
I attempted to create a bill using the Zoho Inventory API, but I received an error: {"code":6,"message":"Invalid data provided"}. However, when I made the same request again, it was successful. Does anyone have insights on why this happened?
Free user licenses across all Portal user types
Greetings everyone, We're here with some exciting and extensive changes to the availability of free user licenses in CRM Portals. This update provides users with access to all Portal user types for free to help them diversify their user licenses and explore
Custom "Filter By" in Client Portal
Currently our client portal only shows items for that specific person that is logged on to the portal, we want the current logged user to see all items for that user's company. An example would be invoices, so the current user would see all invoices for
Why do I need to send the Customer ID in the Create Purchase Order Request?
I'm trying to create a purchase order using this endpoint https://www.zoho.com/inventory/api/v1/purchaseorders/#create-a-purchase-order Unfortunately, I'm getting this error { "code": 4, "message": "Invalid value passed for Customer ID" } The doc doesn't
How to Retrieve Serial Numbers of Items in Zoho Inventory via API?
Hello, I am currently working with the Zoho Inventory API and need to retrieve the serial numbers associated with specific items in our inventory. After reviewing the documentation, I couldn’t find an endpoint dedicated to fetching serial numbers for
merging email accounts
previously I was using 5 mail pop mailboxes within VO , 2 of them are becoming obsolete so I was thinking about deleting the obsolete ones and merge the remainders into my main account mailbox within VO , is this possible ? thnx in advance.
Queries filtered by current page/record
I have been trying to use the new queries feature, and I can filter the query, but I'm coming unstuck because I don't understand how to make the query dynamically include the filter of the current record. ie if I'm on a deal, to filter all the records
ZohoPeople API - Retrieve leave type IDs
Hi All, I have created a leave type in Zoho People UI. Now I need to fetch the Leave Type ID of it. As per the documentation[1] I used the curl request [2]. But I ended up with the error response from the API. {"response":{"message":"Error occurred","errors":{"message":"Server Error Occured","code":7031},"status":1,"uri":"/api/leave/getLeaveTypes"}} The new API[3] does not tell anything on how to retrieve the Leave Type ID. Have you done any changes to the API recently. If so please let me know
Inadequate Customer Support
Hello & Greetings! I have been a pro Zoho user since the last 2 years and I would admit that the apps that are being offered are good, however the support we receive has a lot more to achieve. This being a design issue rather than a staff issue. Being
Incorrect Closing Stock Amount value
Act as Zoho Inventory Expert. We are a construction company, OVAL Projects Engineering Limited. We started using Zoho Inventory for Stock Management.I have multiple warehouses. I have encountered a problem while generating custom warehouse wise inventory
User tiers
I am trying to add tiers of users. I would like: Me - CEO Next Tier down - Managers Next tier down - All the salepeople reporting to each manager I can only seem to add myself with mansagers below. Surely I can add more tiers?
The Next Chapter for CRM for Everyone: Moving from Early Access to Phased Rollout for Customers
#CRM25Q1 Hello Everyone, Until now, CRM for Everyone has been available in early access mode exclusively for users who opted to try the new version. We are now transitioning to a phased release, starting with the basic edition. We are thrilled to announce
Zoho vault uses only password to unlock not a TouchID
TouchID works when normally openning app but when called from keyboard while browsing or trying to log to another app it shows only password option to unlock. This behaviour is only on iPad Mini witch latest 18.2OS
Unable to add Guest Members
We are having issues adding Guest Members to our Cliq account. We have sent out a number of request but it seems that only some people are able to access the platform. Others have received a message stating that they need to be granted access from an
Webhook when estimate is refused is not firing
Hello, I use a workflow through make that sends estimate with zoho books (I paid books and sign). -Those estimates when accepted are firing the webhook that I create in zoho sign (photo 1) -However when refused they are not firing the webhook that I created
Invoice status on write-off is "Paid" - how do I change this to "Written off"
HI guys, I want to write off a couple of outstanding invoices, but when I do this, the status of the invoices shows as "Paid". Clearly this is not the case and I need to be able to see that they are written off in the customer's history. Is there a way
Create a custom button to modify custom fields in zoho Inventory
I am needing a script for two buttons, 1. Button will add todays date to a custom field named cf_sent_to_sov 2. Button will mark a checkbox or unmark a checkbox field named cf_parts_ordered I have been trying to figure out deluge but have not got anywhere
How to add a record for a different report
I have one form and it has two reports I need to programmatically add records to both reports For example one report is draft and other is processed After the user performs some action on the draft report I want to create a new report in Processed and
Webhook 'when estimate is refused' is not firing
Hello, I use a workflow through make that sends estimate with zoho books (I paid books and sign). -Those estimates when accepted are firing the webhook that I create in zoho sign (photo 1) -However when refused they are not firing the webhook that I created
Next Page