Commit 3571b142 by taufikyu

update rpc callback to pemda

1 parent 75b1cc6e
...@@ -67,7 +67,7 @@ class BJBQRIS(KodeModel, Base): ...@@ -67,7 +67,7 @@ class BJBQRIS(KodeModel, Base):
## 10 = PDL ## 10 = PDL
## 30 = WEBR ## 30 = WEBR
## 90 = PERIZINAN ## 90 = PERIZINAN
description = Column(String(128)) description = Column(Text)
customer_name = Column(String(64)) customer_name = Column(String(64))
customer_email = Column(String(128)) customer_email = Column(String(128))
customer_phone = Column(String(32)) customer_phone = Column(String(32))
......
...@@ -68,7 +68,7 @@ class BJBVA(KodeModel, Base): ...@@ -68,7 +68,7 @@ class BJBVA(KodeModel, Base):
## 10 = PDL ## 10 = PDL
## 30 = WEBR ## 30 = WEBR
## 90 = PERIZINAN ## 90 = PERIZINAN
description = Column(String(128)) description = Column(Text)
customer_name = Column(String(64)) customer_name = Column(String(64))
customer_email = Column(String(128)) customer_email = Column(String(128))
customer_phone = Column(String(32)) customer_phone = Column(String(32))
......
...@@ -289,9 +289,17 @@ def custom_error(code, message): ...@@ -289,9 +289,17 @@ def custom_error(code, message):
raise cls raise cls
def get_mandatory(data, values): def get_mandatory(data, values):
if isinstance(values,list):
for value in values: for value in values:
if not value in data or data[value] == '' or data[value] == None: if not value in data or data[value] == '' or data[value] == None:
raise JsonRpcInvalidDataError(message="{} Not Found".format(value)) raise JsonRpcInvalidDataError(message="{} Not Found".format(value))
elif isinstance(values,dict):
for k,v in values.items():
if v:
if len(str(data[k])) > v:
raise JsonRpcInvalidDataError(
message="{} error, max character {}".format(k, v)
)
def get_seconds(): def get_seconds():
begin_unix_time = datetime(1970, 1, 1) begin_unix_time = datetime(1970, 1, 1)
......
...@@ -485,7 +485,7 @@ def callback(request, data): ...@@ -485,7 +485,7 @@ def callback(request, data):
sleep(1) sleep(1)
auth_from_rpc(request) auth_from_rpc(request)
log.error('REQUEST BJBQRIS') log.error('CALLBACK BJBQRIS')
log.error(data) log.error(data)
get_va = BJBQRIS.query().filter(BJBQRIS.va_number==data['va_number'], get_va = BJBQRIS.query().filter(BJBQRIS.va_number==data['va_number'],
...@@ -575,7 +575,7 @@ def calculate_tagihan(values): ...@@ -575,7 +575,7 @@ def calculate_tagihan(values):
def sendrpc(request, kd_bayar): def sendrpc(request, kd_bayar):
settings = get_settings() settings = get_settings()
request = self.req request = self.req
headers = {'Content-Type':'application/json'}
if not 'pemdaqris_url' in settings and not settings['pemdaqris_url']: if not 'pemdaqris_url' in settings and not settings['pemdaqris_url']:
log.error('pemdaqris_url belum ada di settings') log.error('pemdaqris_url belum ada di settings')
return return
...@@ -588,11 +588,9 @@ def sendrpc(request, kd_bayar): ...@@ -588,11 +588,9 @@ def sendrpc(request, kd_bayar):
try: try:
resp = requests.post(url=url, resp = requests.post(url=url,
data=dict(kd_bayar=kd_bayar), data=dict(kd_bayar=kd_bayar),
headers=headers,
verify=verify) verify=verify)
datarsp = json.loads(resp.content) log.info('Response RPC CALLBACK PEMDA : {}'.format(resp.content))
if not 'result' in datarsp or datarsp['result'] != "true":
log.error('Error : {}'.format(datarsp))
return
return True return True
except requests.exceptions.RequestException as err: except requests.exceptions.RequestException as err:
log.error('Gagal membuat koneksi, silakan coba lagi beberapa saat') log.error('Gagal membuat koneksi, silakan coba lagi beberapa saat')
......
...@@ -568,7 +568,7 @@ def callback(request, data): ...@@ -568,7 +568,7 @@ def callback(request, data):
sleep(1) sleep(1)
auth_from_rpc(request) auth_from_rpc(request)
log.error('REQUEST BJBVA') log.error('CALLBACK BJBVA')
log.error(data) log.error(data)
get_va = BJBVA.query().filter(BJBVA.va_number==data['va_number'], get_va = BJBVA.query().filter(BJBVA.va_number==data['va_number'],
...@@ -670,7 +670,7 @@ def calculate_tagihan(values): ...@@ -670,7 +670,7 @@ def calculate_tagihan(values):
def sendrpc(request, kd_bayar): def sendrpc(request, kd_bayar):
settings = get_settings() settings = get_settings()
request = self.req request = self.req
headers = {'Content-Type':'application/json'}
if not 'pemdava_url' in settings and not settings['pemdava_url']: if not 'pemdava_url' in settings and not settings['pemdava_url']:
log.error('pemdava_url belum ada di settings') log.error('pemdava_url belum ada di settings')
return return
...@@ -683,11 +683,9 @@ def sendrpc(request, kd_bayar): ...@@ -683,11 +683,9 @@ def sendrpc(request, kd_bayar):
try: try:
resp = requests.post(url=url, resp = requests.post(url=url,
data=dict(kd_bayar=kd_bayar), data=dict(kd_bayar=kd_bayar),
headers=headers,
verify=verify) verify=verify)
datarsp = json.loads(resp.content) log.info('Response RPC CALLBACK PEMDA : {}'.format(resp.content))
if not 'result' in datarsp or datarsp['result'] != "true":
log.error('Error : {}'.format(datarsp))
return
return True return True
except requests.exceptions.RequestException as err: except requests.exceptions.RequestException as err:
log.error('Gagal membuat koneksi, silakan coba lagi beberapa saat') log.error('Gagal membuat koneksi, silakan coba lagi beberapa saat')
......
...@@ -289,6 +289,15 @@ def create_qris(request, data): ...@@ -289,6 +289,15 @@ def create_qris(request, data):
sleep(1) sleep(1)
auth_from_rpc(request) auth_from_rpc(request)
get_mandatory(data, ['kd_bayar','unit_kode']) get_mandatory(data, ['kd_bayar','unit_kode'])
params = dict(
product_code = 2,
invoice_no = 16,
description = '',
customer_name = 64,
customer_email = 128,
customer_phone = 32,
)
get_mandatory(data, params)
log.error('CREATE QRIS BJBQRIS') log.error('CREATE QRIS BJBQRIS')
log.error(data) log.error(data)
...@@ -383,6 +392,15 @@ def create_va(request, data): ...@@ -383,6 +392,15 @@ def create_va(request, data):
sleep(1) sleep(1)
auth_from_rpc(request) auth_from_rpc(request)
get_mandatory(data, ['kd_bayar','unit_kode']) get_mandatory(data, ['kd_bayar','unit_kode'])
params = dict(
product_code = 2,
invoice_no = 16,
description = '',
customer_name = 64,
customer_email = 128,
customer_phone = 32,
)
get_mandatory(data, params)
log.error('CREATE VA BJBVA') log.error('CREATE VA BJBVA')
log.error(data) log.error(data)
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!