Commit a5cb1e40 by Owo Sugiana

Bug fixed PAD QRIS

1 parent e856dc2b
3.1.1 2023-07-21
----------------
- Bug fixed PAD QRIS
3.1 2023-06-28 3.1 2023-06-28
-------------- --------------
- Tambah bin/payment_report_by_id - Tambah bin/payment_report_by_id
......
[main]
module = payment_report.pad.default
models = opensipkd.pad.models.default
service = opensipkd.pad.services.ciamis
db_url = postgresql://pdl@localhost/pdl
report_db_url = postgresql://pcpd@localhost/pcpd
va_db_url = postgresql://va-bjb@localhost/va_bjb
pid_file = /home/pcpd/tmp/pad-report.pid
[formatter_generic]
format = %(asctime)s %(levelname)s %(name)s %(message)s
[formatter_simple]
format = %(asctime)s %(levelname)s %(message)s
[handler_console]
class = StreamHandler
stream = sys.stdout
formatter = generic
[handler_file]
class = FileHandler
filename = /home/pcpd/logs/pad-report.log
formatter = simple
[logger_root]
handlers = console, file
level = INFO
[main] [main]
moduel = payment_report.pad.default module = payment_report.pad.default
models = opensipkd.pad.models.default models = opensipkd.pad.models.default
service = opensipkd.pad.services.default service = opensipkd.pad.services.default
db_url = postgresql://user:pass@localhost/db db_url = postgresql://user:pass@localhost/db
......
...@@ -384,10 +384,12 @@ class BaseApp: ...@@ -384,10 +384,12 @@ class BaseApp:
if self.last_pay and self.last: if self.last_pay and self.last:
self.update_last() self.update_last()
def get_va_channel(self, pay_date): def get_va_channel(self, pay_date, invoice_id=None):
if not self.va_session: if not self.va_session:
return return
q = self.base_q_va.filter(VaInvoice.invoice_no == self.invoice_id) if not invoice_id:
invoice_id = self.invoice_id
q = self.base_q_va.filter(VaInvoice.invoice_no == invoice_id)
q = q.order_by(VaPayment.id.desc()) q = q.order_by(VaPayment.id.desc())
row = q.first() row = q.first()
if not row: if not row:
......
...@@ -83,7 +83,10 @@ class App(BaseApp): ...@@ -83,7 +83,10 @@ class App(BaseApp):
if not row: if not row:
return return
if row.iso_request[0] == '{': if row.iso_request[0] == '{':
channel = BANK_NAMES[str(row.bank_id)] bank_id = str(row.bank_id)
if bank_id not in BANK_NAMES:
return
channel = BANK_NAMES[bank_id]
return '0000', channel, None, None, row.bank_id return '0000', channel, None, None, row.bank_id
Doc = BankHandlers[row.bank_id] Doc = BankHandlers[row.bank_id]
iso = get_iso(row.iso_request, Doc) iso = get_iso(row.iso_request, Doc)
...@@ -130,7 +133,11 @@ class App(BaseApp): ...@@ -130,7 +133,11 @@ class App(BaseApp):
stan = ntb = bank_id = None stan = ntb = bank_id = None
channel_id = '0000' channel_id = '0000'
tgl = pay.sspdtgl.date() tgl = pay.sspdtgl.date()
channel_name = self.get_va_channel(tgl) or 'MANUAL' channel_name = self.get_va_channel(tgl)
if not channel_name:
p = len(invoice_id['Prefix'])
inv_id = self.invoice_id[p:]
channel_name = self.get_va_channel(tgl, inv_id) or 'MANUAL'
return dict( return dict(
id=pay.id, stan=stan, ntb=ntb, tgl=pay.sspdtgl.date(), id=pay.id, stan=stan, ntb=ntb, tgl=pay.sspdtgl.date(),
jam=pay.sspdtgl.time(), nomor_bayar=invoice_id.get_raw(), jam=pay.sspdtgl.time(), nomor_bayar=invoice_id.get_raw(),
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!