Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Kunto
/
backoffice
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit b7b49ee0
authored
Oct 03, 2019
by
Solo Group
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
penambahan cek sukses dan Noref+1
1 parent
ee79d93c
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
81 additions
and
167 deletions
src/agratek/api/merchant/views/tangselpjk/bphtb.py
src/agratek/api/merchant/views/tangselpjk/pbb.py
src/agratek/api/merchant/views/tangselpjk/pdl.py
src/agratek/api/merchant/views/tangselpjk/bphtb.py
View file @
b7b49ee
...
...
@@ -80,13 +80,6 @@ class Vendor(VendorClass):
message
=
resp
[
"responseDesc"
]
return
dict
(
code
=
code
,
message
=
message
)
# if code == 54:
# raise JsonRpcBillAllreadyPaidError()
# elif code == 55:
# raise JsonRpcBillNotFoundError()
# else:
# raise JsonRpcError(code=code, message=message)
def
response_field
(
self
):
resp
=
self
.
response
if
resp
[
"responseCode"
]
==
"00"
:
...
...
@@ -182,7 +175,7 @@ class Vendor(VendorClass):
def
_inquiry
(
self
):
if
not
self
.
v_produk_kd
or
not
self
.
id_pel
:
return
self
.
set_response
(
message
=
'Parameter tidak lengkap'
)
return
self
.
request
=
self
.
inquiry_field
()
log
.
info
(
"Inquiry Request: url: {} params {}"
.
format
(
self
.
inq_url
,
self
.
request
))
...
...
@@ -208,6 +201,7 @@ class Vendor(VendorClass):
result
=
resp
.
text
self
.
response
=
result
self
.
save_log
(
"inquiry"
)
log
.
info
(
"Inquiry Response:
%
s"
%
self
.
response
)
return
resp
...
...
@@ -216,12 +210,18 @@ class Vendor(VendorClass):
if
resp
is
None
:
return
self
.
set_failed
(
typ
=
"inquiry"
)
if
resp
.
status_code
=
=
200
:
parsd
=
self
.
response_field
(
)
return
self
.
set_success
(
parsd
,
typ
=
"inquiry"
)
el
se
:
if
resp
.
status_code
!
=
200
:
return
self
.
set_failed
(
typ
=
"inquiry"
)
if
"responseCode"
not
in
self
.
respon
se
:
return
self
.
set_failed
(
typ
=
"inquiry"
)
if
self
.
response
[
"responseCode"
]
!=
"00"
:
return
self
.
inquiry_error
(
self
.
response
)
parsd
=
self
.
response_field
()
return
self
.
set_success
(
parsd
,
typ
=
"inquiry"
)
def
payment
(
self
):
resp
=
self
.
_inquiry
()
if
not
resp
:
...
...
@@ -230,93 +230,43 @@ class Vendor(VendorClass):
if
self
.
response
[
"responseCode"
]
!=
"00"
:
return
self
.
inquiry_error
(
self
.
response
)
self
.
response
[
"noRef"
]
=
int
(
self
.
response
[
"noRef"
])
+
1
params
=
json
.
dumps
(
self
.
response
)
log
.
info
(
"Payment url: {} params: {}"
.
format
(
self
.
pay_url
,
params
))
try
:
resp
=
requests
.
post
(
self
.
pay_url
,
data
=
params
,
verify
=
False
,
headers
=
self
.
get_headers
(),
timeout
=
15
)
except
:
except
Exception
as
e
:
self
.
response
=
e
resp
=
None
if
resp
is
None
:
self
.
status
=
0
return
self
.
set_pending
()
if
resp
.
status_code
!=
200
:
result
=
resp
.
text
self
.
response
=
result
log
.
info
(
"Payment Response:
%
s"
%
self
.
response
)
return
self
.
set_pending
()
try
:
result
=
json
.
loads
(
resp
.
text
)
self
.
response
=
result
log
.
info
(
"Payment Response:
%
s"
%
self
.
response
)
except
:
result
=
resp
.
text
self
.
response
=
result
self
.
response
=
resp
.
text
log
.
info
(
"Payment Response:
%
s"
%
self
.
response
)
self
.
status
=
0
return
self
.
set_pending
()
if
resp
.
status_code
==
200
:
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
()
\
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
)
parsd
=
self
.
response_field
()
else
:
self
.
status
=
0
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
):
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
src/agratek/api/merchant/views/tangselpjk/pbb.py
View file @
b7b49ee
...
...
@@ -131,6 +131,7 @@ class Vendor(VendorClass):
result
=
resp
.
text
self
.
response
=
result
self
.
save_log
(
"inquiry"
)
log
.
info
(
"Inquiry Response:
%
s"
%
self
.
response
)
return
resp
...
...
@@ -157,9 +158,11 @@ class Vendor(VendorClass):
if
resp
is
None
or
resp
and
resp
.
status_code
!=
200
:
return
self
.
set_pending
()
if
"responseCode"
not
in
self
.
response
\
or
self
.
response
[
"responseCode"
]
!=
"00"
:
return
self
.
set_failed
()
if
"responseCode"
not
in
self
.
response
:
return
self
.
set_pending
()
if
self
.
response
[
"responseCode"
]
!=
"00"
:
return
self
.
inquiry_error
(
self
.
response
)
# ditambahkan disini karena minta noRefnya Berbeda
self
.
response
[
"noRef"
]
=
int
(
self
.
response
[
"noRef"
])
+
1
...
...
@@ -168,7 +171,8 @@ class Vendor(VendorClass):
try
:
resp
=
requests
.
post
(
self
.
pay_url
,
data
=
params
,
verify
=
False
,
headers
=
self
.
get_headers
(),
timeout
=
15
)
except
:
except
Exception
as
e
:
self
.
response
=
e
resp
=
None
if
resp
is
None
:
...
...
src/agratek/api/merchant/views/tangselpjk/pdl.py
View file @
b7b49ee
...
...
@@ -94,13 +94,6 @@ class Vendor(VendorClass):
result
=
self
.
get_price
(
sub_total
)
admin
=
int
(
self
.
vendor_produk
.
produk
.
harga
)
# todo: cek kembali harga apakah wajar atau tidak
# adm_biller = int(resp["diskon"] or '0')
# jika harga admin biller > dari admin
# if self.amt_buy < sub_total+adm_biller:
# raise
# if admin < adm_biller:
# admin = adm_biller
rincian
=
dict
(
pokok
=
pokok
,
denda
=
denda
,
...
...
@@ -126,7 +119,7 @@ class Vendor(VendorClass):
def
_inquiry
(
self
):
if
not
self
.
v_produk_kd
or
not
self
.
id_pel
:
return
self
.
set_response
(
message
=
'Parameter tidak lengkap'
)
return
self
.
request
=
self
.
inquiry_field
()
log
.
info
(
"Inquiry Request: url: {} params {}"
.
format
(
self
.
inq_url
,
self
.
request
))
...
...
@@ -138,20 +131,27 @@ class Vendor(VendorClass):
verify
=
False
,
headers
=
self
.
get_headers
(),
timeout
=
20
)
except
:
log
.
info
(
"Biller Error"
)
except
Exception
as
e
:
self
.
response
=
e
log
.
info
(
"Biller Error: {}"
.
format
(
e
))
return
if
not
resp
:
log
.
info
(
"No Response From Biller"
)
msg
=
"No Response From Biller"
log
.
info
(
msg
)
self
.
response
=
msg
return
try
:
result
=
json
.
loads
(
resp
.
text
)
except
:
result
=
resp
.
text
self
.
response
=
result
log
.
info
(
"Inquiry Response:
%
s"
%
self
.
response
)
return
self
.
response
=
result
self
.
save_log
(
"inquiry"
)
log
.
info
(
"Inquiry Response:
%
s"
%
self
.
response
)
return
resp
...
...
@@ -160,104 +160,64 @@ class Vendor(VendorClass):
if
resp
is
None
:
return
self
.
set_failed
(
typ
=
"inquiry"
)
if
resp
.
status_code
==
200
:
parsd
=
self
.
response_field
()
return
self
.
set_success
(
parsd
,
typ
=
"inquiry"
)
else
:
if
resp
.
status_code
!=
200
:
return
self
.
set_failed
(
typ
=
"inquiry"
)
if
"responseCode"
not
in
self
.
response
:
return
self
.
set_failed
(
typ
=
"inquiry"
)
if
self
.
response
[
"responseCode"
]
!=
"00"
:
return
self
.
inquiry_error
(
self
.
response
)
parsd
=
self
.
response_field
()
return
self
.
set_success
(
parsd
,
typ
=
"inquiry"
)
def
payment
(
self
):
resp
=
self
.
_inquiry
()
if
not
resp
:
return
self
.
set_failed
()
if
self
.
response
[
"responseCode"
]
!=
"00"
:
return
self
.
inquiry_error
(
self
.
response
)
return
self
.
inquiry_error
(
self
.
response
)
self
.
response
[
"noRef"
]
=
int
(
self
.
response
[
"noRef"
])
+
1
params
=
json
.
dumps
(
self
.
response
)
log
.
info
(
"Payment url: {} params: {}"
.
format
(
self
.
pay_url
,
params
))
try
:
resp
=
requests
.
post
(
self
.
pay_url
,
data
=
params
,
verify
=
False
,
headers
=
self
.
get_headers
(),
timeout
=
15
)
except
:
except
Exception
as
e
:
self
.
response
=
e
resp
=
None
if
resp
is
None
:
self
.
status
=
0
return
self
.
set_pending
()
if
resp
.
status_code
!=
200
:
self
.
response
=
resp
.
text
log
.
info
(
"Payment Response:
%
s"
%
self
.
response
)
return
self
.
set_pending
()
try
:
result
=
json
.
loads
(
resp
.
text
)
self
.
response
=
result
log
.
info
(
"Payment Response:
%
s"
%
self
.
response
)
except
:
result
=
resp
.
text
self
.
response
=
result
log
.
info
(
"Payment Response:
%
s"
%
self
.
response
)
self
.
status
=
0
return
self
.
set_pending
()
if
resp
.
status_code
==
200
:
self
.
status
=
1
# sukses
parsd
=
self
.
response_field
()
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
)
self
.
response
=
result
log
.
info
(
"Payment Response:
%
s"
%
self
.
response
)
if
self
.
response
[
"responseCode"
]
!=
"00"
:
return
self
.
inquiry_error
(
self
.
response
)
else
:
self
.
status
=
0
return
self
.
set_pending
()
parsd
=
self
.
response_field
()
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
):
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
raise
JsonRpcError
(
message
=
"Not Implemented"
)
\ No newline at end of file
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment