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
--------------
- 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]
moduel = payment_report.pad.default
module = payment_report.pad.default
models = opensipkd.pad.models.default
service = opensipkd.pad.services.default
db_url = postgresql://user:pass@localhost/db
......
......@@ -384,10 +384,12 @@ class BaseApp:
if self.last_pay and self.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:
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())
row = q.first()
if not row:
......
......@@ -83,7 +83,10 @@ class App(BaseApp):
if not row:
return
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
Doc = BankHandlers[row.bank_id]
iso = get_iso(row.iso_request, Doc)
......@@ -130,7 +133,11 @@ class App(BaseApp):
stan = ntb = bank_id = None
channel_id = '0000'
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(
id=pay.id, stan=stan, ntb=ntb, tgl=pay.sspdtgl.date(),
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!