Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/goipay/goipay

A lightweight crypto payment processor microservice, written in Golang, designed for creating and processing cryptocurrency invoices via gRPC.
https://github.com/goipay/goipay

crypto crypto-payments cryptocurrencies cryptocurrency go golang monero payment-processor payments self-hosted selfhosted xmr

Last synced: about 1 month ago
JSON representation

A lightweight crypto payment processor microservice, written in Golang, designed for creating and processing cryptocurrency invoices via gRPC.

Awesome Lists containing this project

README

        


Logo

![Build Status](https://img.shields.io/github/actions/workflow/status/goipay/goipay/cd.yml)
![Version](https://img.shields.io/github/v/release/goipay/goipay)
![Docker Pulls](https://img.shields.io/docker/pulls/chekist32/goipay)
![License](https://img.shields.io/github/license/goipay/goipay)

## Description
> **Note:**
> The project is in development. This is not a release version.
> As for now, only XMR invoices are implemented.

A lightweight crypto payment processor microservice, written in Golang, designed for creating and processing cryptocurrency invoices via gRPC.

## Getting Started
### Prerequisites
- Go ≥ 1.22
- PostgreSQL ≥ 12

### Installation
#### Docker
- Clone the repo
```sh
git clone https://github.com/goipay/goipay.git
```
- Inside the root dir create and populate ```.env``` file on the base of ```.env.example``` file
```ini
SERVER_HOST=0.0.0.0
SERVER_PORT=3000

SERVER_TLS_MODE=tls
SERVER_TLS_CA=/app/cert/server/ca.crt
SERVER_TLS_CERT=/app/cert/server/server.crt
SERVER_TLS_KEY=/app/cert/server/server.key

# As for now, only PostgreSQL is supported
DATABASE_HOST=db
DATABASE_PORT=5432
DATABASE_USER=postgres
DATABASE_PASS=postgres
DATABASE_NAME=goipay_db

XMR_DAEMON_URL=http://node.monerodevs.org:38089
XMR_DAEMON_USER=
XMR_DAEMON_PASS=
```
- Inside the root dir you can find an example ```docker-compose.yml``` file. For testing purposes can be run without editing.
```sh
docker compose up
```

## Usage

- Get a quick overview of how GoiPay works by watching this [simple showcase video](https://youtu.be/b6TJBiHKJXE?feature=shared).
- Check out an [example project](https://github.com/goipay/example) to see GoiPay in action.
- For detailed information on using GoiPay's API, refer to the [API Reference](https://goipay.github.io/docs/api/grpc).

## Use cases

GoiPay is designed as a microservice that can be integrated into larger projects. If you need a simple, lightweight solution for just generating and processing crypto invoices, GoiPay is the perfect choice.