Instalasi - getpay-id/getpay-api GitHub Wiki

Sebelum membaca lebih lanjut, pastikan kalian sudah menkonfigurasi app. Lihat rincian nya disini wiki/Konfigurasi .

Pengembangan Lokal (Tanpa Docker)

  1. Kamu perlu memasang python versi 3.9 (direkomendasikan memasang python dengan pyenv)
  2. Pasang pipenv
  3. Buat virtual environment
pipenv install --dev

Perintah diatas akan memasang semua daftar ketergantungan proyek dan juga pengembangan lokal.

Masuk ke virtual environment:

pipenv shell
  1. Setup pre-commit

Konfigurasi pre-commit disini bertujuan untuk memformat kode sesuai dengan gaya coding yg kami terapkan. Jadi semuanya akan sesuai design dan tidak berantakan ketika kamu mendorong kode ke remote repository.

Jalankan perintah berikut ini untuk menyiapkan pre-commit:

pre-commit install
  1. Install Redis dan MongoDB

Disini saya menggunakan docker, karena malas install dilokal saya. Jadi untuk pengembangan lokal, saya menggunakan redis dan mongodb dari docker image. Perintah yg saya gunakan adalah:

docker-compose up -d redis db

Jika kamu sudah memasang redis dan mongodb di lokal mu (tanpa docker image), atur saja koneksi url nya di file .env.

  1. Menambahkan Data Payment Gateway, Method dan Channel.
python manage.py init
  1. Jalankan Service
uvicorn app.main:app --reload --port 5000
  1. Jalankan SAQ Worker

SAQ worker dibutuhkan untuk mengeksekusi tugas latar belakang yang akan memperbarui status transaksi ke expired (2).

popol saq runworker --queue default

Pengembangan Dengan Docker

  1. Pastikan sudah memasang Docker dan Docker Compose
  2. Jalankan Service
docker-compose up -d

Oleh bawaan, service akan diserve pada port 5000.