Payment
A microservices-demo service that provides payment services. This build is built, tested and released by travis.
Bugs, Feature Requests and Contributing
We'd love to see community contributions. We like to keep it simple and use Github issues to track bugs and feature requests and pull requests to manage contributions.
API Spec
Checkout the API Spec here
Build
Dependencies
cd $GOPATH/src/github.com/microservices-demo/payment/
go get -u github.com/FiloSottile/gvt
gvt restore
Using native Go tools
In order to build the project locally you need to make sure that the repository directory is located in the correct $GOPATH directory: $GOPATH/src/github.com/microservices-demo/payment/. Once that is in place you can build by running:
cd $GOPATH/src/github.com/microservices-demo/payment/paymentsvc/
go build -o payment
The result is a binary named payment
, in the current directory.
Using Docker Compose
docker-compose build
Test
COMMIT=test make test
Run
Using Go native
If you followed to Go build instructions, you should have a "payment" binary in $GOPATH/src/github.com/microservices-demo/payment/cmd/paymentsvc/. To run it use:
./payment
ts=2016-12-14T11:48:58Z caller=main.go:29 transport=HTTP port=8080
Using Docker Compose
If you used Docker Compose to build the payment project, the result should be a Docker image called weaveworksdemos/payment
.
To run it use:
docker-compose up
You can now access the service via http://localhost:8082
Check
You can check the health of the service by doing a GET request to the health endpoint:
curl http://localhost:8082/health
{"health":[{"service":"payment","status":"OK","time":"2016-12-14 12:22:04.716316395 +0000 UTC"}]}
Use
You can authorise a payment by POSTing to the paymentAuth endpoint:
curl -H "Content-Type: application/json" -X POST -d'{"Amount":40}' http://localhost:8082/paymentAuth
{"authorised":true}
Push
GROUP=weaveworksdemos COMMIT=test ./scripts/push.sh