This is just a simple example of using Snap Midtrans payment without Midtrans Package for Node JS. Feel free to give a Pull Request or issues. Scroll down for Indonesian version of this README.
- Clone this repository
npm install
to install all required dependencies.- Install MySQL Community Edition on your local machine
- Change
.env.example
file to.env
, and fill up the rest. npm run dev
to start the local server. Ornpm run dev:ts
to start Typescript server.
- Express - Server handling
- Cors - CORS middleware for Express
- Dotenv - Injecting
process.env
with contents from.env
file - Knex - SQL Query builder
- Mysql - Node JS driver for MySQL
- UUID - Creation of UUID
- Axios - HTTP Request library
- ISO-3166-1 - For converting country name to ISO-3166-1 acceptable country code
src/
- Application code in Javascript, withindex.js
being the entry point.typescript/
- Application code in Typescript, withindex.ts
being the entry point.test/
- This folder contains test file for fetching data to the server.
npm run dev
- Starts local server with Javascript code (fromsrc/
folder)npm run dev:ts
- Starts local server with Typescript code (fromtypescript/
folder)npm run lint
- Lint all files with ESLintnpm run lint:fix
- Fixes all fixable errors with ESLintnpm run build
- Compiles typescript files fromtypescript/
intodist/
There is no response schema for success attemps as we refer directly from Midtrans' Snap Response.
For failed attemps or 400 and 500 status code, the response schema should be:
{
"message": "Error message"
}
- Clone repository ini
npm install
untuk menginstall dependency yang diperlukan.- Install MySQL Community Edition pada komputer Anda
- Ubah
.env.example
menjadi.env
, dan isi file tersebut. npm run dev
untuk menjalankan local server. Ataunpm run dev:ts
untuk menjalankan Typescript server.
- Express - Server utama
- Cors - CORS middleware untuk Express
- Dotenv - Memasukan
process.env
dengan konten dari file.env
- Knex - SQL Query builder
- Mysql - Node JS driver untuk MySQL
- UUID - Menciptakan data UUID
- Axios - HTTP Request
- ISO-3166-1 - Untuk mengubah nama negara menjadi format ISO-3166-1
src/
- Kode aplikasi dengan bahasa Javascript, denganindex.js
menjadi entry point.typescript/
- Kode aplikasi dengan bahasa Typescript, denganindex.ts
menjadi entry point.test/
- Folder ini berisi file tes untuk mendapatkan data dari server.
npm run dev
- Menjalankan local server dalam bahasa Javascript (dari foldersrc/
)npm run dev:ts
- Menjalankan local server dalam bahasa Typescript (dari foldertypescript/
)npm run lint
- Mencari kesalahan dengan ESLintnpm run lint:fix
- Mengoreksi error yang bisa diselesaikan dengan ESLintnpm run build
- Menghimpun file typescript daritypescript/
kedist/
Tidak ada skema response untuk percobaan yang sukses sebagaimana kami mengambil skema langsung dari Midtrans Snap Response.
Untuk percobaan yang gagal atau dengan status code 400 dan 500, skema response seharusnya menjadi:
{
"message": "Error message"
}