Skip to content

aldy505/midtrans-express-node-sample

Repository files navigation

Midtrans Express Node Sample

GitHub branch checks state GitHub issues Libraries.io dependency status for GitHub repo GitHub

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.

Getting Started

  • 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. Or npm run dev:ts to start Typescript server.

Code Overview

Dependencies

  • 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

Application Structure

  • src/ - Application code in Javascript, with index.js being the entry point.
  • typescript/ - Application code in Typescript, with index.ts being the entry point.
  • test/ - This folder contains test file for fetching data to the server.

NPM Commands

  • npm run dev - Starts local server with Javascript code (from src/ folder)
  • npm run dev:ts - Starts local server with Typescript code (from typescript/ folder)
  • npm run lint - Lint all files with ESLint
  • npm run lint:fix - Fixes all fixable errors with ESLint
  • npm run build - Compiles typescript files from typescript/ into dist/

Response Schema

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"
}

Memulai

  • 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. Atau npm run dev:ts untuk menjalankan Typescript server.

Gambaran Kode

Dependencies

  • 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

Application Structure

  • src/ - Kode aplikasi dengan bahasa Javascript, dengan index.js menjadi entry point.
  • typescript/ - Kode aplikasi dengan bahasa Typescript, dengan index.ts menjadi entry point.
  • test/ - Folder ini berisi file tes untuk mendapatkan data dari server.

NPM Commands

  • npm run dev - Menjalankan local server dalam bahasa Javascript (dari folder src/)
  • npm run dev:ts - Menjalankan local server dalam bahasa Typescript (dari folder typescript/)
  • npm run lint - Mencari kesalahan dengan ESLint
  • npm run lint:fix - Mengoreksi error yang bisa diselesaikan dengan ESLint
  • npm run build - Menghimpun file typescript dari typescript/ ke dist/

Response Schema

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"
}

About

Sample Express App for Midtrans Snap API

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published