uPay in Golang
Payment Gateway Microservice in Golang
PSD2 SCA
EU SCA law will be on duty after 14th September 2019
Updates
Feature
- SCA ready with Stripe Payment Intents
- Off-session intents
- Separation of auth and capture
- New intent
- Confirm intent
- Capture/Delete intent
- No database infrastructure needed
- Stripe API keys configuration per currency
Installation
cp config.json.dist config.json
vi config.json # Add your config values
# API doc
swag init
# If you want to contribute
cp .github/hooks/pre-commit .git/hooks/pre-commit
# Open and change absolute config path
go run main.go # go build main.go
How to use
Example of a checkout web page
- User to insert card information with Stripe Elements
- Create an intent with JS SDK
- Confirm the intent
- Does the intent requires 3D Secure (intent status and next_action param)
- No, Point 5)
- Yes, Stripe Elements will open the a 3D Secure popup
- Do you after checkout domain logic
- Any error during your checkout process?
- Yes, cancel the intent
- No, capture the intent
Tests
go test ./... -failfast -tags=unit
go test ./... -failfast -tags=stripe -config=ABS_PATH/config.json
APIs
- Swagger /swagger/index.html
TODO
See projects section