# 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=... ```