Documentation

  • Home
  • Products
  • Productaine

Documentation

Overview

On this page, you will discover the necessary documentation to successfully install and set up our application.

The process of installing the application is simple and does not involve any unusual or complicated tasks. You only need basic knowledge on how to handle a database and manage files on a server.

Requirements

Prior to software installation, kindly ensure that your server fulfills the specified requirements.

Software Modules
PHP 8.3.x BCMath, Ctype, Fileinfo, JSON, Mbstring, OpenSSL, PDO, Tokenizer, XML, Zip, GD, cURL
Apache 2+ mod_rewrite
MySQL 5.7.7+
MariaDB 10.3.17+

Installation

Database
  1. Create a new MySQL database.
  2. Create a new MySQL username and password.
  3. Assign full privileges to your database username.
  4. Set the collations for both the database and its associated tables and table columns to utf8mb4_unicode_ci.
Files
  1. Download and unzip the latest version of the application.
  2. Upload the software.zip file on your domain.com web or root host directory.
    • Extract the uploaded zip file to the above location.
Permissions

Set the access permissions of the followings to (CHMOD) 674 for files and 775 for folders:

  • Files
    • .env
  • Folders
    • bootstrap/cache
    • public/uploads
    • storage
    • storage/fonts
    • storage/framework
    • storage/framework/cache
    • storage/framework/cache/data
    • storage/framework/sessions
    • storage/framework/views
    • storage/logs
Directory

Set your domain web directory or root to public directory of the application. For instance, if you have uploaded the application to the folder domain.com, you should set the web directory to domain.com/public folder.

If you are unable to change the document root to domain.com/public during the setup of your domain to install the application because your domain is the primary domain of the host and is automatically assigned to the public_html directory, then in order to eliminate the public path from the URL, you should utilize the .htaccess file provided here.

Install
  1. Go to domain.com and follow the installation wizard to complete the installation.
  2. After the installation is completed, login to your account.
  3. After login, navigate to your dashboard and activate your application.

Configuration

General

Set the default settings of your application Settings > General.

Emails

Set up your SMTP provider credentials Settings > SMTP.

Note: Failure to configure your SMTP provider details will result in a 500-error message during the registration process.

AdSense
Set up the Google AdSense section under Settings > General, used to display Google Ads in your website pages.
Analytics
Set up the Google Analytics section under Settings > General, used to gather analytics information about your visitors.
Captcha

Set up the Google reCAPTCHA section under Settings > Captcha, used on the login, register and contact page.

  1. Login into your Google reCAPTCHA account.
  2. Create a new reCAPTCHA v3 Badge or reCAPTCHA v2 checkbox.
  3. Fill all the other fields with the requested information.
  4. Copy the Site key and the Secret key in Settings > Captcha> Google ReCaptcha.

Set up the Cloudflare Turnstile section under Settings > Captcha, used on the login, register and contact page.

  1. Login into your Cloudflare account.
  2. Go to Turnstile section and click Add Widget.
  3. Fill all the other fields with the requested information.
  4. Copy the Site key and the Secret key in Settings > Captcha > Cloudflare Turnstile.
Live Chat

Set up the Live Chat section under Settings > General, used to communicate with your website visitors and app users.

  1. Login into your Tawk account.
  2. Go to the Add Property section.
  3. Enter the Property Name and Site URL, and then click Next button, followed by Done button.
  4. Copy the Property ID in Settings > General > Live Chat.
  5. Go to the Chat Widget section, under Administration > Channels section.
  6. Copy the Widget ID in Settings > General > Live Chat.
  7. Change the Widget Color under Widget Appereance to match your website branding.
  8. Click Advanced button under Widget Appereance, and change the Desktop and Mobile Widget Position, and Widget Colors to match your website branding, then click Save button.
Blacklist

Set up the Blacklist section under Settings > General.

  1. Domain Blacklist: Block specific email domains, preventing users from registering or logging in with email addresses associated with those blacklisted domains.
  2. IP Blacklist: Block access to the entire website by blacklisting specific IP addresses. Users with blacklisted IP addresses will receive a message stating that access is denied when attempting to visit the site. This feature is highly efficient and should be used carefully because it can block access for all users, including administrators, if their IP address is among those listed in the blacklist.
Whitelist

Set up the Whitelist section under Settings > General.

  1. IP Whitelist: Whitelist certain IP addresses, giving them priority over blacklisted IP addresses. If IP addresses are added to this list, only admin users with matching IP addresses will be able to access the admin panel. If the list is empty, there will be no restrictions for any assigned administrators to access the admin panel.
Maintenance

Set up the Maintenance Mode section under Settings > General.

  1. Enabling the Maintenance Mode in General Settings, will do the followings:
    • Show the Maintenance Mode message in the top right corner next to the user avatar.
    • Displays 503 Unavailable error in landing page unless is an admin user who will still be able to access and test it.
    • Displays 503 Unavailable error in the registration page.
    • Display a notification error that we are down for scheduled maintenance when a regular user try to login.
Storage

Set up your File Storage Settings > Storage.

There are two file storage options in our application.

  1. Local Storage, your data is saved and stored on your local server.
  2. AWS S3 Storage, your data is saved and stored on your set up Amazon S3 Bucket.
AI

Set up your OpenAI in Settings > OpenAI.

  1. Login into your OpenAI account.
  2. Go to the API Keys section, click on Create new secret key.
  3. Copy the API Key in Settings > OpenAI > API Key.

Set up your Gemini AI in Settings > AI > Gemini AI.

  1. Login into your Google AI Studio account.
  2. Go to Get API key section, click on Create API key.
  3. Copy the API Key in Settings > Gemini AI > API Key.

Processors

The payment processors can be enabled from Settings > Processors.

PayPal
  1. Sign in to your PayPal developer account.
  2. Access the My apps & credentials page, switch to the Live environment, and select Create app to register a new application.
  3. Once the app is created, copy the generated Client ID and Secret, then add them to Settings > Processors > PayPal in your system.
  4. Return to My apps & credentials, ensure the Live tab is selected, and open the application you just created.
  5. Scroll to the LIVE WEBHOOKS section and choose Add webhook to configure a new endpoint.
  6. Provide your webhook endpoint in the Webhook URL field. You can find this URL under Settings > Processors > PayPal.
  7. In the Event types section, enable All Billing Subscription Events along with Payment Sale Completed for subscription, and Checkout Order Approved and only Payment Capture Completed for product purchase, then save the configuration.
  8. Navigate again to My apps & credentials, confirm the Live environment is active, and open your app.
  9. Copy the generated Webhook ID and store it in Settings > Processors > PayPal.
Stripe
  1. Access your Stripe dashboard by signing in with your credentials.
  2. In the left-hand navigation, open the Developers area and select API keys.
  3. Locate and copy both your Publishable key and Secret key, then paste them into Settings > Processors > Stripe within your application.
  4. To enable automatic tax calculation, configure Stripe Tax in your Stripe Dashboard, then enable Stripe Automatic Tax under Settings > Processors > Stripe within your application.
  5. To use Stripe as the Merchant of Record, configure Stripe Managed Payments in your Stripe Dashboard, then enable Stripe Managed Payments under Settings > Processors > Stripe within your application. Managed Payments includes tax handling, so Stripe Automatic Tax is not required.
  6. Return to the Developers section in Stripe and open Webhooks.
  7. Select Add endpoint to begin creating a new webhook.
  8. In the Endpoint URL field, enter your webhook URL. You can find this URL under Settings > Processors > Stripe.
  9. Under Events to send, click Select events. Add All Customer Subscription events and Invoice Paid for subscriptions, or only Checkout Session Completed for product purchase, then confirm by clicking Add events.
  10. Finalize the configuration by clicking Add endpoint.
  11. After the webhook is created, copy the Signing secret and paste it into Settings > Processors > Stripe.
Paddle
  1. Access your Paddle Billing dashboard by signing in with your credentials.
  2. In the main navigation, open Developer Tools and choose Authentication from the available options.
  3. Switch to the API keys section and generate a new key by selecting New API key. Assign All permissions for Write before creating it. Afterward, copy the generated API key and paste it into Settings > Processors > Paddle.
  4. Once completed, revisit Developer Tools and return to the Authentication page.
  5. Open the Client-side tokens tab and create a token using New Client-side token. Copy the newly issued Token and add it under Settings > Processors > Paddle.
  6. Navigate again to Developer Tools, then proceed to Notifications.
  7. Initiate a new webhook configuration by clicking New Destination.
  8. Enter your webhook endpoint in the URL field. This endpoint can be located within Settings > Processors > Paddle.
  9. Within the Events configuration, enable All subscription events together with transaction.paid for subscription, and only transaction.paid for product purchase.
  10. Save the webhook configuration. After saving, open the Destination settings, select Edit, and copy the Secret key into Settings > Processors > Paddle.
  11. From the primary navigation, access the Checkout section and open Checkout settings.
  12. Provide your website address in the Default payment link field to complete the setup.
Razorpay
  1. Sign in to your Razorpay dashboard.
  2. Open the Settings area from the main navigation and access the API Keys section.
  3. Select the Generate key option to create a new set of credentials.
  4. After the keys are generated, copy both the Key ID and Key secret, then paste them into Settings > Processors > Razorpay within your platform.
  5. Return to the Settings menu and navigate to the Webhooks page.
  6. Choose Add new webhook to begin configuring a webhook endpoint.
  7. In the Webhook URL field, enter your webhook endpoint address. This URL is available under Settings > Processors > Razorpay.
  8. Provide a custom value in the Secret field that will be used to validate webhook requests.
  9. Within Active events, enable all Payment events and Subscription events.
  10. Click Create webhook to finalize and activate the webhook configuration.
  11. Once created, copy the defined Secret value and save it under Settings > Processors > Razorpay.
Paystack
  1. Sign in to your Paystack dashboard using your account credentials.
  2. From the main navigation menu, open Settings and select API Keys & Webhooks.
  3. Find your Public key and Secret key, then copy both values and paste them into Settings > Processors > Paystack in your platform.
  4. While still in Settings, return to the API Keys & Webhooks page.
  5. In the Webhook URL field, enter your webhook address. This URL is available in Settings > Processors > Paystack.
Xendit
  1. Sign in to your Xendit dashboard.
  2. In the left navigation menu, open the Settings section, then proceed to the API Keys area.
  3. Select the option to generate a new secret key and create an API key with Write access.
  4. Copy the Secret API key and paste it into Admin > Settings > Processors > Xendit.
  5. Return to the Settings page via the sidebar, then navigate to the Webhooks section.
  6. Under the Webhook Verification Token area, click the button to reveal your Webhook Verification Token.
  7. Copy the displayed Webhook verification token and insert it into Admin > Settings > Processors > Xendit.
  8. Again, open the Settings page from the sidebar and go to the Webhooks section.
  9. If a notice appears stating “You’re viewing the legacy version of our webhook page.”, switch to the updated version.
  10. For the fields Payment Token Status, Payment Request Status, Payment Status, Payment Session Completed, Payment Session Expired, and Subscription Plan and Cycle Event for subscription, and only Payment Session Completed for product purchase, paste your webhook URL found in Admin > Settings > Processors > Xendit.
MercadoPago
  1. Sign in to your Mercado Pago Developers account.
  2. Navigate to the Your applications area and select the Create application option.
  3. Set up a new Online payments application configured to use the Checkout Pro integration.
  4. Copy the Access Token and paste it into Admin > Settings > Processors > MercadoPago.
YooMoney
  1. Sign in to your YooMoney Merchant Profile account.
  2. Choose your organization, then open the Settings section from the left-hand menu.
  3. Copy the Shop ID and place it in Admin > Settings > Processors > YooMoney.
  4. From the sidebar, navigate to the API keys page.
  5. Copy the Secret key and insert it into Admin > Settings > Processors > YooMoney.
  6. Next, open the HTTP notifications page from the sidebar and click the Change settings button.
  7. In the URL for notifications field, paste your webhook URL, which is available in Admin > Settings > Processors > YooMoney.
NowPayments
  1. Sign in to your NowPayments account.
  2. In the left menu, open the Settings Payments section, then navigate to the API keys tab.
  3. Generate a new API key and copy it into Admin > Settings > Processors > NowPayments.
  4. Return to the Settings Payments area and select the Instant payment notifications tab.
  5. Paste your webhook URL into the Webhook URL field. This URL is available in Admin > Settings > Processors > NowPayments.
  6. Copy the IPN secret key and place it in Admin > Settings > Processors > NowPayments.
Crypto
  1. Sign in to your Crypto merchant dashboard.
  2. Using the main navigation, open Integrations and choose API Keys.
  3. Copy your Publishable key and Secret key, then add them to Settings > Processors > Crypto in your system.
  4. Navigate back to Integrations and select Webhooks.
  5. Click the Add webhook option to create a new webhook entry.
  6. In the Payload URL field, enter your webhook endpoint URL. This URL is available under Settings > Processors > Crypto.
  7. Once the webhook is configured, copy the Signature secret and paste it into Settings > Processors > Crypto.
Bank
  • All fields are optional.

Payments

To enable any of the payment sections, an Extended license is required.

Plans

Enable or set up new plans in Settings > Plans.

Coupons

Enable or set up new coupons in Settings > Coupons.

Tax Rates

Enable or set up new tax rate in Settings > Tax Rates.

Billing

Set up your billing information and default currency in Settings > Billing.

Social Logins

The Social login integrations allow users to login with their Social Media accounts.

Facebook

The Facebook login integration allow users to login with their Facebook account.

  1. Go to Facebook Developers page.
  2. Make sure to login to your Facebook account.
  3. Click on the My Apps menu dropdown and click on Create app.
  4. Add your details to the form and click submit the form to create the new app.
  5. Go to Settings from the sidebar menu and click on Basic.
  6. Fill out your Facebook app details in there.
  7. From the sidebar, under Facebook Login click on Quickstart link.
  8. Click on the Web platform and add your website URL. Skip the next steps.
  9. From the sidebar, under Facebook Login click on Settings link.
  10. In the Valid OAuth redirect URIs field, add domain.com/login/facebook/callback.
  11. Save the changes.
  12. Go to App Profile page and copy the App ID and App Secret.
  13. Go to Settings > Social Media > Facebook and fill in the copied keys.
  14. Make sure to enable Facebook and Save the new changes.
  15. Future configuration & review of the created Facebook app will rely on you as the administrator from this point on.
Twitter

The Twitter login integration allow users to login with their Twitter account.

  1. Go to Twitter Developer Portal page.
  2. Make sure to login to your Twitter account and submit your application for being accepted into the program.
  3. Go to Projects & Apps > Overview menu item on the left.
  4. Click on the Create App button.
  5. Fill out your app details in there, save and continue.
  6. Make sure to add the Authentication settings of the app by enabling Oauth & enabling the Request email addresses from users.
  7. In the Callback URLs field, add domain.com/login/twitter/callback
  8. Fill out the other details that are required.
  9. Go to Keys and tokens of the new app that you created.
  10. Get your API Key and API Secret.
  11. Go to Settings > Social Media > Twitter and fill in the copied keys.
  12. Make sure to enable Twitter and Save the new changes.
Google

The Google login integration allow users to login with their Google account.

  1. Go to Google Developers Console page.
  2. Make sure to login to your Google account.
  3. Create a new project and select it.
  4. Go to OAuth consent screen menu item on the left.
  5. Select the User Type as External and click Create.
  6. Fill out your app details in there, save and continue.
  7. Make sure to add the userinfo.email & userinfo.profile scopes, save and continue.
  8. Finish the last remaining steps.
  9. Go to Credentials menu item on the left.
  10. Create new OAuth client ID credentials.
  11. Select the Web application type.
  12. In the Authorized redirect URIs field, add domain.com/login/google/callback.
  13. Create the credentials.
  14. Copy the Client ID and Client Secret.
  15. Go to Settings > Social Media > Google and fill in the copied keys.
  16. Make sure to enable Google and Save the new changes.
  17. Future configuration & review of the created Google app will rely on you as the administrator from this point on.
LinkedIn

The LinkedIn login integration allow users to login with their LinkedIn account.

  1. Go to LinkedIn Developer page.
  2. Make sure to login to your LinkedIn account.
  3. Create a new app.
  4. Fill out your app details in there, click Create App button.
  5. Select the created app.
  6. Go to Auth tab on the menu items.
  7. In the Authorized redirect URLs field, add domain.com/login/linkedin/callback, and click Update button.
  8. Go to Products tab.
  9. Select Sign In with LinkedIn using OpenID Connect. A legal agreement pop-up window will appear, read the terms and check the box if you agree, and click the Add Product button.
  10. Return to Auth tab and wait for a few seconds, you will see OAuth 2.0 scopes section.
  11. Copy the Client ID and Client Secret.
  12. Go to Settings > Social Media > LinkedIn and fill in the copied keys.
  13. Make sure to enable LinkedIn and Save the new changes.
  14. Future configuration & review of the created LinkedIn app will rely on you as the administrator from this point on.
GitHub

The GitHub login integration allow users to login with their GitHub account.

  1. Go to GitHub Developers page.
  2. Make sure to login to your GitHub account.
  3. Click GitHub Apps menu and then New GitHub App button.
  4. Fill out your app details in there.
  5. In the callback URL field, add domain.com/login/github/callback.
  6. In the Webhook section, click Active checkbox to disactivate.
  7. In the Permissions section, under Account permissions give Read-only access to Email addresses.
  8. Set the GitHub App to be installed only on this account and click the Create GitHub App button.
  9. After submitting the form to create the app, you can add an icon.
  10. In the Client secrets section, click Generate a new client secret button.
  11. Copy the Client ID and Client Secret.
  12. Go to Settings > Social Media > GitHub and fill in the copied keys.
  13. Make sure to enable GitHub and Save the new changes.
  14. Future configuration & review of the created GitHub app will rely on you as the administrator from this point on.

Branding

This section of the documentation is intended to customize your website according to your preferences.

Frontend

Customize the front end of the application in Settings > Frontend.

FAQs

Customize existing and add new Frequently Asked Questions in Settings > Frontend > Faqs.

Pages

Customize Terms of Use and Policy Privacy pages, as well as create new pages in Settings > Frontend > Pages.

Custom CSS/JS

You can add your custom CSS/JS code in Settings > General > Custom CSS/JS.

Update

This section of the documentation is intended for when you wish to upgrade your existing installation to more recent versions.

Authenticate

Ensure that you are logged in as the administrator on the control panel to easily access the update area.

Backup

Before updating the software, you must make a complete backup of your website files and database.

Please be aware that if you have made any changes to the files of the software, those modifications will be lost.

Multi-Step Update
  1. Go to your dashboard update area and click Multi-Step menu item.
  2. Follow the multi-step update wizard. 12
  1. The file update step only available for web hosting with the Zip PHP Extension enabled.
  2. The database update step will display zero updates if there are no database changes.
One-Click Update
  1. Go to your dashboard update area and click One-Click menu item.
  2. Click One-Click Update button and wait till the update process is completed. 1 2 3
  1. The one-click update is served directly from our servers with no wait approval time from your marketplace.
  2. The one-click update is available only for active support customers.
  3. The one-click update is available for web hosting with the Zip PHP Extension enabled.
File Update using cPanel
  1. Download the latest version of the application from your marketplace.
  2. There are two ways to complete the file update for the application:
    • Upload and extract the software.zip file, located inside the main zip file, using cPanel File Manager in the domain root directory.
    • Upload all of the files using an FTP Client, excluding the .env file, from the software folder that has been extracted locally, and overwrite the current files in the document root directory.
  3. Go to your application dashboard update area and click Multi-Step menu item.
  4. Follow the update wizard. 1
  5. Clear the application cache.
  1. The database update step will display zero updates if there are no database changes.

Do not replace nor upload the following files/folders:

  1. .env
  2. /public/uploads/

Hosting

One of the top-tier recognized provider of web hosting services is 20i. They offer high-quality hosting for agencies, ecommerce businesses, and side-hustlers. Their exceptional speed, reliability, and round-the-clock expert support sets them apart from the competition.

After thoroughly testing our application on their server, we can confidently say that both their shared and VPS packages are highly compatible and perform exceptionally well.