744ac00d4d | ||
---|---|---|
database | ||
db | ||
migration | ||
providers | ||
state | ||
templates | ||
.gitignore | ||
README.md | ||
db.go | ||
docker-compose-deploy.yml | ||
docker-compose.yml | ||
dockerfile | ||
go.mod | ||
go.sum | ||
main.go | ||
makefile | ||
render.go |
README.md
Payment-poc
Sample application with multiple payment gateways supported
Includes:
Startup
To start using make sure to setup either environment variables listed below, or create .env file and copy variables below
PSQL_HOST=localhost
PSQL_PORT=5432
PSQL_USER=payment-poc
PSQL_PASSWORD=paymentPassword
PSQL_DB=payment-poc
AUTH=test:testPassword # credentials used for securing web page
BACKEND_URL=localhost:5281 # or url where application is deployed
Also, database is required for application to start, so you can start it with docker compose up -d
Payment gateways
All gateways used are optional, so they have to be turned on to be used, to turn payment gateway add all required
environment variables and define it in PROFILE variable, profile is coma sepparated list eg. PROFILE=wspay,stripe,viva-wallet,mock
Mock
Simplest gateway - as the name says to turn it on only add mock
to profile
WsPay
WsPay has two environment variables it requires
WSPAY_SHOP_ID
- shop id given by wspayWSPAY_SHOP_SECRET
- password used for registering to wspay admin dashboard
Stripe
Stripe has only one environment variable
STRIPE_KEY
- key generated on the stripe admin dashboard
Viva Wallet
Viva wallet has 5 environment variables
VIVA_WALLET_MERCHANT_ID
- merchant idVIVA_WALLET_API_KEY
- api keyVIVA_WALLET_SOURCE_CODE
- code of online storeVIVA_WALLET_CLIENT_ID
- client id for online store define by source codeVIVA_WALLET_CLIENT_SECRET
- secret for online store define by source code
Example .env
PSQL_HOST=localhost
PSQL_PORT=5432
PSQL_USER=payment-poc
PSQL_PASSWORD=paymentPassword
PSQL_DB=payment-poc
BACKEND_URL=http://localhost:5281
PROFILE=wspay,viva-wallet,stripe,mock
AUTH=test:testPassword
WSPAY_SHOP_ID=...
WSPAY_SHOP_SECRET=...
STRIPE_KEY=...
VIVA_WALLET_MERCHANT_ID=...
VIVA_WALLET_API_KEY=...
VIVA_WALLET_SOURCE_CODE=...
VIVA_WALLET_CLIENT_ID=...
VIVA_WALLET_CLIENT_SECRET=...