In a world where cryptocurrency is rapidly becoming the go-to payment method, having a reliable payment gateway is crucial. Enter Keagate, a self-hosted, high-performance cryptocurrency payment gateway that offers flexibility, privacy, and seamless transactions.
Table of Contents
- About the Project
- Purpose
- Installation
- Configuration
- Payment Lifecycle
- Instant Payment Notifications
- Development
About the Project
Keagate is designed to facilitate cryptocurrency payments efficiently and privately. With support for popular currencies such as Bitcoin, Ethereum, and Dogecoin, Keagate makes it easy to manage transactions directly without the hassle of third-party involvement.
Purpose
- No KYC
- No fees, middleman, or escrow
- Self-hosted and private
- Easily extensible
- Lightweight and high-performance
With Keagate, funds go straight to your wallet via a one-time address generated for each payment, ensuring a secure and straightforward transaction experience.
Installation
Getting Keagate up and running is a breeze. You can choose either a quick one-liner installation or go through a manual setup.
One-liner
This installation script allows you to deploy Keagate quickly in a Linux environment.
bash -c $(curl -sSL https://raw.githubusercontent.com/dilan-dio4/Keagate/main/packages/scripts/keagate.sh)
Alternatively, for manual download:
bash
curl -o keagate.sh https://raw.githubusercontent.com/dilan-dio4/Keagate/main/packages/scripts/keagate.sh
chmod +x keagate.sh
./keagate.sh
This script is compatible with various Linux flavors, including Ubuntu and CentOS.
Manual Installation
For those who prefer a more hands-on approach, here’s how to manually install Keagate:
- Install MongoDB (Install MongoDB)
- Set up a web server (like Nginx or Apache2) as a reverse proxy.
- Install Node.js and NPM (Installation Instructions).
Configuration
Once installed, Keagate needs proper configuration through a file named local.json
found in the config
directory. You can configure it either using the command-line interface (CLI) or manually by editing the file.
CLI Configuration
To configure using the CLI, simply run the following command in the Keagate root directory:
node packages/scripts/build/configure.js
This command sets up the configuration file.
Manual Configuration
Edit the local.json
file directly. The schema of the configuration is provided in the default.json. You can set specific options such as currency and API keys.
Payment Lifecycle
Once Keagate is configured, you can start processing payments. The payment lifecycle consists of two methods: API method and Invoice Client method.
API Method
In the API-driven method, the payment flow involves:
- Invoking the
createPayment
route with necessary parameters. - Notifying the customer to make a payment.
- Waiting for the payment to complete.
- Confirming the payment status using the
IPN
route.
Invoice Client Method
This method utilizes the built-in invoicing client for payment processing. The workflow consists of:
- Creating a payment via the
createPayment
route. - Directing the user to the invoice client URL.
- Confirming and processing the payment with the
IPN
route.
Instant Payment Notifications
For real-time notifications of payment status updates, set up instant payment notifications (IPN) by configuring the IPN_HMAC_SECRET
attribute in your local.json
. This adds an extra layer of security to your notifications.
Development
For those looking to extend or build on Keagate, follow these steps:
- Clone the repository.
- Install pnpm globally with
npm i -g pnpm
. - Navigate to the Keagate directory and run
pnpm i
. - Set up your MongoDB connection in
config/local.json
. - Run
pnpm run dev
to start the development server.
Troubleshooting
If you run into issues during installation or configuration, consider the following troubleshooting tips:
- Ensure you have installed all prerequisites, including MongoDB and a web server.
- Double-check your configuration parameters in
local.json
for any typos. - Review the logs for errors during the installation or runtime.
- For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.