- Notifications
You must be signed in to change notification settings - Fork0
Gringotts is a subscription service currently in beta
License
geprog/gringotts
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Gringotts is a service which can be used as gateway between your payment provider and for example your SAAS application. It allows you to easily handle customers, subscriptions and invoice generation for your users.
- Subscriptions are always monthly
- Subscription-periods start at the first day the customer started the subscription (exp. 2021-01-15 to 2021-02-14, 2021-02-15 to 2021-03-14, ...)
- Invoices are generated at the end of the subscription-period (exp. 2021-01-15 to 2021-02-14 => invoice is generated on 2021-02-14)
The container image can be found atghcr.io/geprog/gringotts
.
Name | Description | Default |
---|---|---|
PORT | Port on which the server should listen | 7171 |
PUBLIC_URL | Url on which the server is reachable | http://localhost:7171 |
POSTGRES_URL | Url to the postgres database | postgres://postgres:postgres@localhost:5432/gringotts |
ADMIN_TOKEN | Token which is used to authenticate admin endpoints like project | |
CREATE_PROJECT_DATA | Json string which is used to create the first project | |
DATA_PATH | Path to the data directory | Local: ./data Container: /app/data |
GOTENBERG_URL | Url to the gotenberg server | http://localhost:3000 |
JWT_SECRET | Secret used to sign jwt tokens | supersecret |
MAIL_FROM | From address for emails `My Projectmy-project@example.org | |
MAIL_HOST | Hostname of the smtp server | |
MAIL_PORT | Port of the smtp server | 25 |
MAIL_USERNAME | Username for the smtp server | |
MAIL_PASSWORD | Password for the smtp server | |
MAIL_SECURE | Use secure connection for the smtp server | false |
MAIL_REQUIRE_TLS | Require tls for the smtp server | false |
To create a project on start you can set theCREATE_PROJECT_DATA
environment variable to a json string like this:
CREATE_PROJECT_DATA='{ "name": "TestProject", "mollieApiKey": "123", "paymentProvider": "mollie", "webhookUrl": "http://localhost:4000/payments/webhook", "currency": "EUR", "vatRate": 19.0, "invoiceData": { "email": "test@example.com", "name": "Company ABC", "addressLine1": "Diagon Alley 1337", "addressLine2": "string", "zipCode": "12345", "city": "London", "country": "Germany", "logo": "data:image/svg+xml;base64,...." } }'
Keep in mind that this wont be updated later if you change the environment variables after the first start.
The OpenApi documentation can be found athttps://<PUBLIC_URL>/docs
likehttp://localhost:7171/docs
docker-compose up -d# install dependenciespnpm i# copy .env.example to .env and adjust the valuescp .env.example .env# start the serverpnpm start
About
Gringotts is a subscription service currently in beta