Commit de044f5a by Solo Group

penambahan cek sukses dan Noref+1

1 parent f20ca1d5
...@@ -253,9 +253,12 @@ class Vendor(VendorClass): ...@@ -253,9 +253,12 @@ class Vendor(VendorClass):
return self.set_pending() return self.set_pending()
if resp.status_code == 200: if resp.status_code == 200:
self.status = 1 # sukses
parsd = self.response_field() parsd = self.response_field()
if self.response["responseCode"] != "00":
return self.inquiry_error(self.response)
self.status = 1 # sukses
self.serial_number = 'ntb' in result and result["ntb"].strip() \ self.serial_number = 'ntb' in result and result["ntb"].strip() \
or self.serial_number or self.serial_number
parsd["rincian"].update(dict( parsd["rincian"].update(dict(
......
...@@ -43,10 +43,10 @@ class Vendor(VendorClass): ...@@ -43,10 +43,10 @@ class Vendor(VendorClass):
{ {
"noRef": get_random_number(6), "noRef": get_random_number(6),
"dateSettlement": date_settlement, "dateSettlement": date_settlement,
"merchantType": "6025", "merchantType": "6014",
"accountCurrency": "360", "accountCurrency": "360",
"terminalId": "02W010", "terminalId": "02W001",
"terminalName": "02W010", "terminalName": "Mobile POS Tangsel",
"terminalLoc": "Tangerang Selatan", "terminalLoc": "Tangerang Selatan",
"nop": nop, "nop": nop,
"tahunPajak": tahun, "tahunPajak": tahun,
...@@ -102,13 +102,13 @@ class Vendor(VendorClass): ...@@ -102,13 +102,13 @@ class Vendor(VendorClass):
def _inquiry(self): def _inquiry(self):
if not self.v_produk_kd or not self.id_pel: if not self.v_produk_kd or not self.id_pel:
return self.set_response(message='Parameter tidak lengkap') return
# self.set_response(message='Parameter tidak lengkap')
self.request = self.inquiry_field() self.request = self.inquiry_field()
log.info("Inquiry Request: url: {} params {}".format(self.inq_url, self.request)) log.info("Inquiry Request: url: {} params {}".format(self.inq_url, self.request))
self.save_log("inquiry") self.save_log("inquiry")
params = json.dumps(self.request) params = json.dumps(self.request)
log.info(params)
try: try:
resp = requests.post(self.inq_url, data=params, resp = requests.post(self.inq_url, data=params,
verify=False, verify=False,
...@@ -136,28 +136,32 @@ class Vendor(VendorClass): ...@@ -136,28 +136,32 @@ class Vendor(VendorClass):
if resp is None: if resp is None:
return self.set_failed(typ="inquiry") return self.set_failed(typ="inquiry")
success = "responseCode" in self.response and \ if resp.status_code != 200:
self.response["responseCode"] == "00" or False return self.set_failed(typ="inquiry")
if success: if "responseCode" not in self.response:
parsd = self.response_field()
return self.set_success(parsd, typ="inquiry")
else:
return self.set_failed(typ="inquiry") return self.set_failed(typ="inquiry")
if self.response["responseCode"] != "00":
self.inquiry_error(self.response)
return self.set_failed(typ="inquiry")
parsd = self.response_field()
return self.set_success(parsd, typ="inquiry")
def payment(self): def payment(self):
resp = self._inquiry() resp = self._inquiry()
if resp is None: if resp is None or resp and resp.status_code != 200:
return self.set_failed() return self.set_pending()
if self.response["responseCode"] != "00":
return self.inquiry_error(self.response)
#ditambahkan disini karena minta noRefnya Berbeda if "responseCode" not in self.response \
self.response["noRef"]=int(self.response["noRef"])+1 or self.response["responseCode"] != "00":
return self.set_failed()
# ditambahkan disini karena minta noRefnya Berbeda
self.response["noRef"] = int(self.response["noRef"]) + 1
params = json.dumps(self.response) params = json.dumps(self.response)
log.info("Payment url: {} params: {}".format(self.pay_url, params)) log.info("Payment Request url: {} params: {}".format(self.pay_url, params))
try: try:
resp = requests.post(self.pay_url, data=params, verify=False, resp = requests.post(self.pay_url, data=params, verify=False,
headers=self.get_headers(), timeout=15) headers=self.get_headers(), timeout=15)
...@@ -167,10 +171,15 @@ class Vendor(VendorClass): ...@@ -167,10 +171,15 @@ class Vendor(VendorClass):
if resp is None: if resp is None:
self.status = 0 self.status = 0
return self.set_pending() return self.set_pending()
try:
result = json.loads(resp.text) if resp.status_code != 200:
result = resp.text
self.response = result self.response = result
log.info("Payment Response: %s" % self.response) log.info("Payment Response: %s" % self.response)
return self.set_pending()
try:
result = json.loads(resp.text)
except: except:
result = resp.text result = resp.text
self.response = result self.response = result
...@@ -178,70 +187,21 @@ class Vendor(VendorClass): ...@@ -178,70 +187,21 @@ class Vendor(VendorClass):
self.status = 0 self.status = 0
return self.set_pending() return self.set_pending()
success = "responseCode" in self.response and \ self.response = result
self.response["responseCode"] == "00" or False log.info("Payment Response: %s" % self.response)
if success: if "responseCode" not in self.response \
self.status = 1 # sukses or self.response["responseCode"] != "00":
parsd = self.response_field() self.inquiry_error(self.response)
return self.set_failed()
self.serial_number = 'ntb' in result and result["ntb"].strip() \
or self.serial_number
parsd["rincian"].update(dict(
ntb=self.serial_number,
ntp='ntp' in result and result["ntp"].strip() or ''))
return self.set_success(parsd)
else: parsd = self.response_field()
self.status = 0 self.status = 1 # sukses
return self.set_pending() self.serial_number = 'ntb' in result and result["ntb"].strip() \
or self.serial_number
parsd["rincian"].update(dict(
ntb=self.serial_number,
ntp='ntp' in result and result["ntp"].strip() or ''))
return self.set_success(parsd)
def advice(self): def advice(self):
raise JsonRpcError(message="Not Implemented") raise JsonRpcError(message="Not Implemented")
# if not self.v_produk_kd or not self.id_pel or not self.invoice_det:
# return dict(code=9999,
# message='Parameter tidak lengkap')
#
# if self.kategori == 'e-payment':
# order_id = self.invoice_det.vend_inv_no
# url = self.get_url('/order/{order_id}'.format(order_id=order_id))
# params = None
# self.request = url
# else:
# params = dict(
# data=dict(
# denom=self.v_produk_kd,
# number=self.id_pel
# )
# )
# self.request = params
# url = self.get_url('/prepaid/purchase-get')
#
# self.save_log("advice")
# try:
# resp = requests.get(url, params=params, verify=False,
# headers=self.get_headers(), timeout=15)
# except:
# return self.set_response()
#
# try:
# result = json.loads(resp.text)
# except:
# result = resp.text
#
# self.response = result
# if resp.ok:
# self.status = 1 # sukses
# data = "data" in result and result["data"] or None
# parsd = self.pars_data(data)
#
# elif resp.status_code == 400:
# self.status = -3
# parsd = dict(code=resp.status_code,
# message=resp.text)
# else:
# self.status = -4
# parsd = dict(code=500,
# message="Other Error")
#
# self.save_log('advice')
# return parsd
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!