Name Last Update
contrib Loading commit data...
payment_report Loading commit data...
.gitignore Loading commit data...
CHANGES.txt Loading commit data...
MANIFEST.in Loading commit data...
README.rst Loading commit data...
bphtb.ini Loading commit data...
log2db.ini Loading commit data...
log2iso.ini Loading commit data...
pad.ini Loading commit data...
pbb-odbc.ini Loading commit data...
pbb.ini Loading commit data...
setup.py Loading commit data...
sybase-requirements.txt Loading commit data...
webr.ini Loading commit data...

Pembuatan Tabel Laporan

Paket ini bertujuan untuk menyalin data pembayaran dari berbagai database ke tabel lain yang akan digunakan oleh web report.

Pasang paket yang dibutuhkan:

$ python3.9 -m venv ~/env
$ ~/env/bin/pip install --upgrade pip
$ ~/env/bin/pip install wheel
$ ~/env/bin/pip install ebcdic
$ ~/env/bin/pip install git+https://git.opensipkd.com/sugiana/opensipkd-iso8583-bjb.git
$ ~/env/bin/pip install git+https://git.opensipkd.com/sugiana/opensipkd-iso8583-multi.git

Lalu pasang paket ini:

$ ~/env/bin/pip install git+https://git.opensipkd.com/sugiana/payment-report.git

Buatlah database payment_report:

$ sudo su - postgres -c "createuser -P report"
$ sudo su - postgres -c "createdb -O report payment_report"

Misalkan database production bernama simpad maka berilah hak akses yang diperlukan user report:

$ sudo su - postgres -c "psql simpad"

GRANT USAGE ON SCHEMA pad TO report;
GRANT SELECT ON pad.pad_sspd TO report;
GRANT SELECT ON pad.pad_spt TO report;
GRANT SELECT ON pad.pad_pajak TO report;
GRANT SELECT ON pad.pad_customer TO report;
GRANT SELECT ON pad.pad_customer_usaha TO report;
GRANT SELECT ON pad_payment TO report;
GRANT SELECT ON pad_reversal TO report;

Lalu buat file konfigurasi bernama pad-report.ini:

[main]
models = opensipkd.pad.models.default
service = opensipkd.pad.services.default
db_url = postgresql://report:password@localhost:5432/simpad
report_db_url = postgresql://report:password@localhost:5432/payment_report
pid_file = /home/sugiana/tmp/pad-report.pid
log_file = /home/sugiana/log/pad-report.log

Jika ada database VA / QRIS maka tambahkan:

va_db_url = postgresql://report:password@localhost:5432/va_bjb

Buat tabel yang dibutuhkan di database payment_report:

$ ~/env/bin/payment_report_init_db pad-report.ini

Kemudian buat file /etc/cron.d/payment-report berikut ini:

MAILTO=""
*/5 * * * * sugiana cd /home/sugiana && env/bin/pad_report pad-report.ini

Lalu pantau log-nya. Jika sudah ada penampakan lihat hasilnya di tabel pad_report.

BPHTB

Berikan hak akses yang diperlukan user report:

$ sudo su - postgres -c "psql bphtb"

GRANT USAGE ON SCHEMA bphtb TO report;
GRANT SELECT ON bphtb.bphtb_payment TO report;
GRANT SELECT ON bphtb.bphtb_reversal TO report;
GRANT SELECT ON bphtb.bphtb_bank TO report;
GRANT SELECT ON bphtb.bphtb_sspd TO report;
GRANT SELECT ON bphtb.bphtb_perolehan TO report;
GRANT SELECT ON bphtb.bphtb_ppat TO report;
GRANT SELECT ON log_iso TO report;

Lalu buat file konfigurasi bernama bphtb-report.ini:

[main]
models = opensipkd.bphtb.models.default
db_url = postgresql://report:password@localhost:5434/bphtb
report_db_url = postgresql://report:password@localhost:5434/payment_report
pid_file = /home/sugiana/tmp/bphtb-report.pid
log_file = /home/sugiana/log/bphtb-report.log

Jika ada database VA / QRIS maka tambahkan:

va_db_url = postgresql://report:password@localhost:5432/va_bjb

Kemudian di file /etc/cron.d/payment-report tambahkan:

*/5 * * * * sugiana cd /home/sugiana && env/bin/bphtb_report bphtb-report.ini

Lalu pantau log-nya. Jika sudah ada penampakan lihat hasilnya di tabel bphtb_report.

PBB

Berikan hak akses yang diperlukan user report:

$ sudo su - postgres -c "psql pbb"

GRANT SELECT ON sppt TO report;
GRANT SELECT ON pembayaran_sppt TO report;
GRANT USAGE ON SCHEMA pbb TO report;
GRANT SELECT ON pbb.inquiry TO report;
GRANT SELECT ON pbb.payment TO report;
GRANT SELECT ON pbb.reversal TO report;
GRANT SELECT ON log_iso TO report;
CREATE INDEX log_iso_payment ON log_iso (mti, bit_003, bit_039, bit_061);

Lalu buat file konfigurasi bernama pbb-report.ini:

[main]
models = sismiop.models.default
db_url = postgresql://report:password@localhost:5434/pbb
report_db_url = postgresql://report:password@localhost:5434/payment_report
pid_file = /home/sugiana/tmp/pbb-report.pid
log_file = /home/sugiana/log/pbb-report.log

Jika ada database VA / QRIS maka tambahkan:

va_db_url = postgresql://report:password@localhost:5432/va_bjb

Kemudian di file /etc/cron.d/payment-report tambahkan:

*/5 * * * * sugiana cd /home/sugiana && env/bin/pbb_report pbb-report.ini

Lalu pantau log-nya. Jika sudah ada penampakan lihat hasilnya di tabel pbb_report.

Database Sybase

Bila sumber data berasal dari Sybase maka kita bisa gunakan driver FreeTDS:

$ sudo apt-get install freetds-dev freetds-bin unixodbc-dev tdsodbc
$ sudo dpkg-reconfigure tdsodbc

Nanti ada pertanyaan apakah FreeTDS akan dipasang sebagai driver ODBC. Jawab Ya. Kemudian pasang modul Python-nya:

$ ~/env/bin/pip install -r sybase-requirements.txt

Selanjutnya lihat pbb-odbc.ini.