Payment Server Template is a generic open-source payment server that has a simple yet powerful design to connect your business with third-party payment solution provider companies (like Stripe or Coinbase).
Deploy this template to Heroku
Create your server with Server Generator Package
Use this repository as a Template
Install nodejs and npm via nodejs.org.
Check installed versions of nodejs and npm via running following commands:
node -v
npm -v
Check project's current nodejs and npm version from package.json.
If you don't give RESPONSE_ENCRYPTION_SECRET, response encryption mechanism will be disabled automatically.
PORT=4003
PROJECT=OTH
MODULE=PaymentServer
ENVIRONMENT=Local
MONGODB_URI={Database Connection Url}
MONGODB_CONNECTION_LIMIT={MongoDB Connection Limit}
DATABASE_URL={Database Connection Url}
POSTGRESQL_CONNECTION_LIMIT={Postgresql Connection Limit}
CLOUDAMQP_APIKEY={MQ Api Key}
CLOUDAMQP_URL={MQ Connection Url}
PAYMENT_SERVER_QUEUE_CHANNEL=oth_payment_queue
ORCHESTRATION_SERVER_QUEUE_CHANNEL=oth_orchestration_queue
REDISCLOUD_URL={Redis Connection Url}
REDIS_CONNECTION_LIMIT={Redis Connection Limit}
ACCESS_TOKEN_SECRET={Access Token Secret}
RESPONSE_ENCRYPTION_SECRET={Response Encryption Secret}
{
"product_id": "0276d8d1-0945-412b-92d1-084a6e3f7554",
"name": "Premium",
"description": "full access to premium features!",
"payload": {
"stripe": {
"amount": 1999,
"currency": "usd"
},
"coinbase": {
"amount": 19.99,
"currency": "usd"
},
"paypal": {
"amount": 19.99,
"currency": "usd"
}
}
}
{
"key": "STRIPE",
"payload": {
"method": "stripe",
"secret": "{Your Payment Secret on Stripe}",
"payment_method_types": [
"card"
],
"mode": "payment",
"success_url": "https://localhost:4000/success?session_id={CHECKOUT_SESSION_ID}",
"cancel_url": "https://localhost:4000/cancel"
}
}
{
"key" : "COINBASE",
"payload" : {
"method" : "coinbase",
"secret" : "{Your Payment Secret on Coinbase}",
"charge_url" : "https://api.commerce.coinbase.com/charges",
"success_url" : "https://localhost:4000/success",
"cancel_url" : "https://localhost:4000/cancel"
}
}
{
"key" : "PAYPAL",
"payload" : {
"method" : "paypal",
"env" : "sandbox",
"secret" : "{Your Payment Secret on PayPal}",
"client_id" : "{Your Client Id on PayPal}",
"success_url" : "https://oth-ui-web-dev.herokuapp.com/success",
"cancel_url" : "https://oth-ui-web-dev.herokuapp.com/cancel"
}
}
You can find list of available http request in the requests directory. You can run http requests directly via WebStorm, for more information check out: jetbrains.com/help/idea/http-client-in-product-code-editor.html
Furkan Yavuz 💬 📖 👀 |
Fatih Turker 💬 📖 👀 |
Mert Sarac 💬 📖 👀 |
Refer to CONTRIBUTING.md to see how to contribute to Open Template Hub.
Refer to CODE_OF_CONDUCT.md to see contributor covenant code of conduct.
The source code for this project is released under the MIT License.