payment-poc/README.md

79 lines
2.1 KiB
Markdown

# Payment-poc
Sample application with multiple payment gateways supported
Includes:
* [WsPay](https://www.wspay.info/)
* [Stripe](https://stripe.com/en-hr)
* [Viva wallet](https://www.vivawallet.com/hr_hr)
## 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 wspay
* `WSPAY_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 id
* `VIVA_WALLET_API_KEY` - api key
* `VIVA_WALLET_SOURCE_CODE` - code of online store
* `VIVA_WALLET_CLIENT_ID` - client id for online store define by source code
* `VIVA_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=...
```