EscrowLab - Escrow Payment Platform.

##### EscrowLab

DEscrow Payment Platform.

- Created : 2023-01-05
- By : Viserlab
- Email : support@viserlab.com

EscrowLab is a professional Escrow Payment Solution that comes with PHP laravel. It's developed for those people who want to start their Escrow business website. An escrow is a contractual arrangement in which a third party receives and disburses money or property for the primary transacting parties, with the disbursement dependent on conditions agreed to by the transacting parties. here, Users can easily join by getting registered. they can deposit via 20 Online and automated payment method. they able to create escrow payment, able to manage those and able to release when job done.

The documentation will help to understand the total system and we have tried to summarize the total.

> If needed, we will update this script continuously and come with new features and security patches. We will try to give the best user experience to all of our clients.

Thank you for purchasing EscrowLab. If you have any questions or queries that are not answered in this document, please feel free to contact us via email. We will try to respond to you as soon as possible. Thank you so much.

##### Server Requirements

All server requirements are stated bellow

- PHP Version 8.3
- MySQL Version 8.0+ or MariaDB version 10.6+
- BCMath PHP Extension
- Ctype PHP Extension
- cURL PHP Extension
- DOM PHP Extension
- Fileinfo PHP Extension
- GD PHP Extension
- JSON PHP Extension
- Mbstring PHP Extension
- OpenSSL PHP Extension
- PCRE PHP Extension
- PDO PHP Extension
- pdo_mysql PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
- Filter PHP Extension
- Hash PHP Extension
- Session PHP Extension
- Zip PHP Extension
- allow_url_fopen()
- file_get_contents()

##### Server FAQ

Frequently Asked Questions About Server

Do I need VPS or a Dedicated server to run this system?

No, You can run this system in a shared host as well and it will run smoothly. But if you have much traffic, you may need to upgrade your server/hosting. Our codes are highly optimized to ensure the best possible performance.

Which hosting provider should I choose for this? Do you have any suggestions?

You can choose any hosting provider that provides cPanel-based hosting. cPanel is not a must, but we recommend you to have cPanel-based hosting.

I don't have cPanel, What should I do?

Nothing to worry about, Our system will work with any control panel but cPanel is easy to manage, for that we recommend cPanel-based hosting. Also, Our free Support is limited to cPanel-based hosting only.

Do you provide hosting as well?

Yes, We do. We can provide a complete solution for your hosting. We can provide budget shared hosting, premium shared hosting, VPS, Dedicated servers, and Cluster from various geolocation. Please contact us for more details.

##### Installation

Application Installation Process

Installation is very easy with our Easy Installer. You can install yourself simply in few steps without any coding knowledge. We develop our installation system to make the installation process flawless and easy.

Installation Steps:

- Upload the whole file to the server you have downloaded from download after purchase.

- Extract/Unzip the file and move all files in the `Files` folder to the main folder(where you want to install it). Make sure you have moved the `index.php` and `.htaccess` as well.

- Now please browse http://`your-site-url`/install/index.php and follow the process. Your system should be ready to use.

If you are still unable to install the system, please contact us. we offer free installation in cPanel-based hosting.

Admin Login:

- Admin login URL is: http://`your-site-url`/admin
- Username : [as_you_set_on_installation]
- Password : [as_you_set_on_installation]

##### Activation

Application Activation Process

After installing the system you need to activate it. When you visit the system, you will be able to see the activation page. Just provide this information to activate and run your system. Your provided information will send to ViserLab server to verify and we never collect any sensitive or confidential data.

- Purchase Code: To get purchase code Click Here.

- Envato Username: Your Envato username with which you bought system.

- Email: Provide your email for further communication.

`The purchase code(license) is for one website or domain only. Please activate the license into the correct domain(URL) to avoid any unwanted issues in the future.`

##### Folder Structure

Application Folder Details

After installation, There will be two folders and two files will be in your main folder.

- assets
- core
- .htaccess
- index.php

- On the "assets" folder, We keep all kinds of assets like CSS, JS, Images. If you want To edit or change anything over CSS or js, please have a look at this folder.

- On the "core" folder, We keep the core of Laravel and we maintain full MVC structure on this project.

##### Admin Dashboard

Dashboard Overview

From the Dashboard menu, the admin will get an overview at a glance. You may know about the users' info, pending & rejected deposits, pending and rejected withdrawals, and escrow info. Also, you may see the deposit & withdrawal report in the chart.

##### Manage Users

Mange Users Overview

The client or buyer who will be the subject of the escrow arrangement is referred to as the user. Users need to get registered to use this platform. Users are able to do deposits, withdraw, and do escrow agreements after login into their dashboard.

From the Manage User menu, the admin can see the users list of Active Users, Banned Users, Email Unverified Users, Mobile Unverified Users, KYC Unverified Users, and KYC Pending Users. You can manage your users like update their information, notifying them, viewing their login history, and banning them from the system from their details page. Also, you can send notifications to all users or to a specific user.

On the user details page you can get an Overview of the user info like balance, deposited amount, withdrawn amount, etc.

Admin is able to update the user information and can add/subtract balance, view login history, ban the users from this details page, and see the documents submitted by the user for KYC verification.

Email Verification: If email verification is unverified then a verification code will be sent to the user's email if he/she tries to log in and need to be verified by that code.
Mobile Verification: If mobile verification is unverified then a verification code will be sent to the user's mobile if he/she tries to login and need to be verified by that code.
2FA Verification: This will be enabled if the user enables the 2FA security from their user panel. If this is enabled the user needs to verify the code from his google authentication app to get access to his user panel.
KYC: If KYC is unverified, the user needs to submit the information configured from the KYC Setting.

##### Manage Category

Mange Category Overview

All escrow categories can be managed from this menu. Admin can add categories, and enable/disable categories from here.

##### Manage Escrow

Mange Escrow Overview

There is the list of all escrow agreements between buyers and sellers. Admin can set escrow charges from the Charge Setting menu.

If a buyer or seller disputes an escrow admin can join the chat and able to take action. The Take Action button will appear if the escrow is disputed.

##### How users can do escrow agreement?

Step One: At first users need to go New Escrow menu.

Step Two: After submitting the form in step one, the user will see another form in step two.

- Buyer's/Seller's Email: Email of the buyer or the seller. If no user is registered with that email an invitation link will be sent via email to get registered.

- Title: A title about the escrow.

- Charge: Charge is automatically calculated by the system according to the Charge Setting.

- Charge will Pay: Who will pay the charge.

- Details: Detail information about the escrow.

After submitting the form in step 2 user will see the escrow in All Escrow menu. The other party (seller/buyer) need to accept the escrow agreement from the details page.

##### Escrow Actions

Cancel: Both party can cancel the escrow agreement before accepting.
Accept: The user who doesn't create the escrow need to accept the escrow.
Dispute: Both party can dispute (Report to admin) the escrow if its status is Accepted.
Dispatch: If full payment is paid buyer can dispatch (complete) the escrow agreement.

##### Milestone

Buyer can add milestones from the See Milestones menu in escrow details page. Both the seller and the buyer can see the milestones from this menu.

Create Milestone: Several milestones can be created for a single escrow. The amount of a milestone can not be more than the rest amount.

Rest Amount = Escrow Amount - Summation of Milestone Amount

##### Pay Milestone

Wallet: Buyer can pay the milestone from his balance.
Direct Payment: Buyer can pay the milestone by using Payment Gateways.

##### Deposits

Deposits Overview

From the Deposits menu, the admin can see the deposit history and details. If a deposit is done by a manual payment gateway, then its status will be pending at first. Admin can approve or reject the pending deposits from the details page.

From the search field, the admin can search the deposit data by Transaction Number or username of the user.

##### Withdrawals

Withdrawals Overview

From the Withdrawals menu, the admin can see the Withdrawal history and details. As our withdrawal procedure is manual, Admin can approve or reject the pending withdrawals from the details page.

Admin is able to filter the withdrawal history by branch, date, date to date, and username or transaction number.

From the search field, the admin can search the withdrawal data by Transaction Number or username of the user.

##### Payment Gateways

Payment Gateways Overview

There are types of payment gateways like Automatic Gateways and Manual Gateways.

Automatic Gateways: We have added 25+ automatic gateways in this system. Admin just need to configure with valid credentials. If the users deposit money by automatic gateway, admin doesn't need to approve.

Manual Gateways: Admin can add manual gateways as he/she want. If the users deposit money by automatic gateway, admin need to approve.

##### Support Ticket

Support Ticket Overview

From the Support Ticket menu, admin can manage all support tickets opened by the users. Admin is able to reply or close a ticket from its details page.

##### Report

Report Overview

From the Report menu, admin can see the Transaction Log, Login History and the Notification History.

- Transaction Log: Transactions are the records of money-in and money-out from users wallet.

- Login History: From the login history report admin is able to know the login information of the user like IP address, browsers, the operating system of his device, and login time.

- Notification History: Admin can see the email/sms sent to the users by this system from this menu.

##### Subscribers

Subscribers Overview

Anyone can subscribe from the footer section of the website of this system. Admin can send emails to subscribers for promotional purposes or any other notices.

##### Charge Setting

Charge Setting

Admin Can set the charges for escrow from this menu. Several charge range can be added by clicking on Add New button.

Charge Cap: Charge = Fixed Charge + (Escrow Amount * Percent Charge / 100).
If the calculated charge is greater than the Charge Cap amount. Charge = Charge Cap
Fixed Charge: If the amount not belongs to any range this fixed charge will be considered.
Percent Charge: If the amount not belongs to any range this percent charge will be considered.

##### General Setting

General Settings Overview

You can set the basic information from the general setting.

- Site Title: The name of your website.

- Currency: The base currency of your system.

- Currency Symbol: The symbol of the base currency.

- Time Zone: Timezone of your application.

- Base Color: The base color of your website/frontend.

- Secondary Color: The secondary color of your website/frontend. We prefer to pick a dark color for this.

##### System Configuration

System Configuration Overview

From the System configuration menu admin can control below modules of the system.

- User Registration

- Force SSL

- Agree Policy

- Force Secure Password

- KYC Verification

- Email Verification

- Email Notification

- Mobile Verification

- SMS Notification

- Language Option

- Maintenance Mode

- GDPR Cookie

##### Logo Favicon

Logo Favicon Overview

Admin can change the logo and favicon from here.

If the logo and favicon are not changed after you update from this page, please clear the cache from your browser. As we keep the filename the same after the update, it may show the old image for the cache. usually, it works after clear the cache but if you still see the old logo or favicon, it may be caused by server level or network level caching. Please clear them too.

##### Extensions

Extensions Overview

Extensions are some third-party plugins we have used you can configure them from here.

- Custom Captcha: To test the human identity of the visitors a randomly generated sequence of letters and/or numbers appears as an image. This custom captcha is enabled, the captcha will appear in every form on the website and visitors need to prove their human identity by submitting the exact text in the captcha image.

- Google Recaptcha 2:reCAPTCHA is a free service from Google that helps protect websites from spam and abuse. A “CAPTCHA” is a turing test to tell human and bots apart.
  We prefer to use Google Captcha over Custom Captcha.
  Get the Site Key and Secret Key from here

- Google Analytics: Google Analytics is a web analytics service that provides statistics and basic analytical tools for search engine optimization (SEO) and marketing purposes. The service is part of the Google Marketing Platform and is available for free to anyone with a Google account.

- Tawk.to: Twak To is a chat tool​​ It's a powerful free web chat tool that makes it easy for customers to message you through your website.

##### Language Manager

Language Manager Overview

As our system is multilingual, the admin can add multiple languages from here. Admin needs to add keywords in English as the system has, and needs to translate them into the language he/she wants to translate. As our system is multilingual, the admin can add multiple languages from here. Admin needs to add keywords in English as the system has, and needs to translate them into the language he/she wants to translate.

##### How to translate?

Add Keywords: Admin need to add the words/sentences as the system has. After clicking on the Add New Keyword button a pop window wll open and put the english word/sentence in the key field and add put the translated text on the value.

Edit Keywords: Admin is able to update the translated text of a keyword.

Import Keywords: Admin can import keywords from one language to another language. If you import keywords from another language then previous keywords and translated text will be removed.

##### SEO Manager

SEO Manager Overview

You can add seo contents from the SEO Manager menu.

Meta Keywords: Meta keywords are meta tags that you can use to give search engines more information about a page's content. They're found in a webpage's HTML source code, and are not visible to visitors.

Meta Description: A meta description tag generally informs and interests users with a short, relevant summary of what a particular page is about.

Social Title: The social title is how you define your content's title.

Social Description: This description controls how the link will be described when it shows up in someone's feed.

##### KYC Setting

KYC Setting Overview

From the KYC Setting Menu admin can make the KYC form for user as he want.

KYC (Know Your Client) is an important features in this system. Admin may need to verify the User/Account holder by several documents like Passport, Driving License, National Identity Card, etc.
Admin can add fields by clicking on the Add New button.

##### Notification Setting

Notification Setting Overview

###### Notification Setting > Global Template

Global Template is the template for all email. From the Global Template, the admin is able to update the email template. We have provided a template as a demo.

###### Notification Setting > Email Setting

From the Email Setting menu, the admin can configure the email sending method. We have several email-sending methods like PHP Mail, SMTP, SendGrid API, and Mailjet API.

###### Notification Setting > SMS Setting

From the SMS Setting menu, the admin can configure the SMS sending method. We have several SMS sending methods like Clickatell, Infobip, Message Bird, Nexmo, Sms Broadcast, Twilio, Text Magic, and Custom API.

###### Notification Setting > Notification Templates

There is a list of notification templates for the email/sms sent from the system. We provide these templates as demo version admin needs to edit/update the templates by using proper shortcodes.

##### Manage Pages

Manage Pages Overview

Admin can add more pages as he wants. For example, admin wants to add a new About Us page then he/she needs to provide the page name as About Us and the slug as about-us.

Admin can add/remove sections from pages by clicking on the Edit button of that page. Admin is able to move the position of the section and set the position of a section where to be placed in the website/frontend.

##### Manage Section

Manage Section Overview

All pages in the website/frontend have several sections and sections contain content like text, images, and icons. Admin is able to add/update the contents from this menu.