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 3f809681
authored
Aug 04, 2019
by
Solo Group
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
VSI
1 parent
1d67c30f
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
76 additions
and
83 deletions
src/agratek/api/merchant/views/odeo/__init__.py
src/agratek/api/merchant/views/vendor_trx.py
src/agratek/api/merchant/views/vsi/bpjskes.py
src/agratek/api/merchant/views/vsi/pln_post.py
src/agratek/api/merchant/views/vsi/pln_pre.py
src/agratek/api/merchant/views/vsi/pulsa.py
src/agratek/api/merchant/views/odeo/__init__.py
View file @
3f80968
This diff is collapsed.
Click to expand it.
src/agratek/api/merchant/views/vendor_trx.py
View file @
3f80968
...
...
@@ -286,7 +286,7 @@ class ViewHome(BaseView):
if
result
[
"f_result"
][
"code"
]
==
0
:
session
.
flash
(
"Sukses"
)
else
:
session
.
flash
(
result
[
"f_result"
][
"
status
"
],
"error"
)
session
.
flash
(
result
[
"f_result"
][
"
message
"
],
"error"
)
form
.
render
(
values
)
return
dict
(
form
=
form
,
params
=
form_params_view
)
...
...
src/agratek/api/merchant/views/vsi/bpjskes.py
View file @
3f80968
...
...
@@ -60,7 +60,9 @@ class Vendor(VendorClass):
"discount": 300,
"total": 156400
}]
"""
"""
<?xml version="1.0"?>
<root>
<status>SUCCESS</status>
...
...
@@ -125,24 +127,27 @@ class Vendor(VendorClass):
log
.
info
(
"Request:
%
s"
,
params
)
try
:
resp
=
requests
.
get
(
self
.
url
,
params
=
params
,
timeout
=
15
)
if
resp
and
resp
.
ok
:
data
=
dict
(
xmltodict
.
parse
(
resp
.
text
)[
"root"
])
log
.
info
(
"Response:
%
s"
,
data
)
self
.
response
=
data
else
:
data
=
dict
(
message
=
resp
.
text
,
code
=
resp
.
status_code
)
self
.
response
=
data
except
requests
.
exceptions
.
RequestException
as
e
:
data
=
dict
(
message
=
e
.
strerror
,
code
=
e
.
errno
)
return
self
.
save_response
(
data
)
if
resp
and
resp
.
ok
:
data
=
dict
(
xmltodict
.
parse
(
resp
.
text
)[
"root"
])
log
.
info
(
"Response:
%
s"
,
data
)
data
=
self
.
pars_data
(
data
)
elif
resp
:
data
=
dict
(
message
=
resp
.
text
,
code
=
resp
.
status_code
)
else
:
if
not
resp
:
data
=
dict
(
message
=
"No Response From Biller "
,
code
=
500
)
return
self
.
save_response
(
data
)
data
=
self
.
pars_data
(
data
)
self
.
result
=
data
return
self
.
save_response
(
data
)
def
payment
(
self
):
...
...
@@ -159,11 +164,11 @@ class Vendor(VendorClass):
else
:
data
=
dict
(
code
=
resp
.
status_code
,
message
=
resp
.
text
)
self
.
response
=
data
except
:
data
=
dict
(
code
=
500
,
message
=
"No Response From Biller"
)
self
.
response
=
data
data
=
self
.
pars_data
(
data
)
self
.
save_log
(
'payment'
)
...
...
src/agratek/api/merchant/views/vsi/pln_post.py
View file @
3f80968
...
...
@@ -160,29 +160,20 @@ class Vendor(VendorClass):
if
resp
and
resp
.
ok
:
data
=
dict
(
xmltodict
.
parse
(
resp
.
text
)[
"root"
])
self
.
response
=
data
data
=
self
.
pars_data
(
data
)
elif
resp
:
data
=
dict
(
message
=
resp
.
text
,
code
=
resp
.
status_code
)
self
.
response
=
data
else
:
data
=
dict
(
message
=
"No Response From Biller "
,
code
=
500
)
return
self
.
save_response
(
data
)
# if "status" in data and data["status"] and data["status"] == "SUCCESS":
# # data = self.pars_data(data)
# data.update(dict(message="SUCCESS",
# code=0))
#
# elif "status" in data and data["status"] and data["status"] == "ERROR":
# #todo: apakah data akan dimapping errornya?
# data.update(dict(message=data["rcm"],
# code=data["rc"]))
# else:
# data.update(dict(message="Other Error",
# code=500))
self
.
result
=
data
return
self
.
save_response
(
data
)
def
payment
(
self
):
...
...
@@ -201,12 +192,11 @@ class Vendor(VendorClass):
else
:
data
=
dict
(
code
=
resp
.
status_code
,
message
=
resp
.
text
)
self
.
response
=
data
except
:
data
=
dict
(
code
=
500
,
message
=
"No Response From Biller"
)
self
.
response
=
data
data
=
self
.
pars_data
(
data
)
self
.
save_log
(
'payment'
)
return
data
...
...
@@ -223,16 +213,14 @@ class Vendor(VendorClass):
resp
=
requests
.
get
(
self
.
url
,
params
=
params
,
timeout
=
15
)
if
resp
.
ok
:
data
=
dict
(
xmltodict
.
parse
(
resp
.
text
)[
"root"
])
self
.
response
=
data
else
:
data
=
dict
(
code
=
resp
.
status_code
,
message
=
resp
.
text
)
self
.
response
=
data
self
.
response
=
data
except
:
data
=
dict
(
code
=
500
,
message
=
"No Response From Biller"
)
self
.
response
=
data
data
=
self
.
pars_data
(
data
)
self
.
result
=
data
...
...
src/agratek/api/merchant/views/vsi/pln_pre.py
View file @
3f80968
...
...
@@ -105,9 +105,9 @@ class Vendor(VendorClass):
"total"
:
subtotal
-
discount
,
}
def
save_res
ponse
(
self
,
data
,
typ
=
"inquiry"
):
self
.
res
ponse
=
data
log
.
info
(
"
VSI PLN PRE Response
:
%
s"
,
data
)
def
save_res
ult
(
self
,
data
,
typ
=
"inquiry"
):
self
.
res
ult
=
data
log
.
info
(
"
Result
:
%
s"
,
data
)
self
.
save_log
(
typ
)
return
data
...
...
@@ -118,40 +118,26 @@ class Vendor(VendorClass):
self
.
request
=
params
self
.
save_log
(
'inquiry'
)
params
[
'trxid'
]
=
self
.
invoice_det
.
id
log
.
info
(
"
VSI PLN PRE
Request:
%
s"
,
params
)
log
.
info
(
"Request:
%
s"
,
params
)
try
:
resp
=
requests
.
get
(
self
.
url
,
params
=
params
,
timeout
=
15
)
if
resp
and
resp
.
ok
:
data
=
dict
(
xmltodict
.
parse
(
resp
.
text
)[
"root"
])
self
.
response
=
data
else
:
data
=
dict
(
message
=
resp
.
text
,
code
=
resp
.
status_code
)
self
.
response
=
data
log
.
info
(
"REsponse:
%
s"
%
data
)
except
requests
.
exceptions
.
RequestException
as
e
:
data
=
dict
(
message
=
e
.
strerror
,
code
=
e
.
errno
)
return
self
.
save_res
ponse
(
data
)
return
self
.
save_res
ult
(
data
)
if
resp
and
resp
.
ok
:
data
=
dict
(
xmltodict
.
parse
(
resp
.
text
)[
"root"
])
data
=
self
.
pars_data
(
data
)
elif
resp
:
data
=
dict
(
message
=
resp
.
text
,
code
=
resp
.
status_code
)
else
:
data
=
dict
(
message
=
"No Response From Biller "
,
code
=
500
)
return
self
.
save_response
(
data
)
# if "status" in data and data["status"] and data["status"] == "SUCCESS":
# # data = self.pars_data(data)
# data.update(dict(message="SUCCESS",
# code=0))
#
# elif "status" in data and data["status"] and data["status"] == "ERROR":
# #todo: apakah data akan dimapping errornya?
# data.update(dict(message=data["rcm"],
# code=data["rc"]))
# else:
# data.update(dict(message="Other Error",
# code=500))
return
self
.
save_response
(
data
)
data
=
self
.
pars_data
(
data
)
return
self
.
save_result
(
data
)
def
payment
(
self
):
params
=
self
.
get_params
(
cmd
=
'PAY'
,
modul
=
'PRE'
)
...
...
@@ -168,13 +154,14 @@ class Vendor(VendorClass):
else
:
data
=
dict
(
code
=
resp
.
status_code
,
message
=
resp
.
text
)
self
.
response
=
data
except
:
data
=
dict
(
code
=
500
,
message
=
"No Response From Biller"
)
self
.
response
=
data
data
=
self
.
pars_data
(
data
)
self
.
result
=
data
self
.
save_log
(
'payment'
)
return
data
...
...
@@ -191,16 +178,14 @@ class Vendor(VendorClass):
resp
=
requests
.
get
(
self
.
url
,
params
=
params
,
timeout
=
15
)
if
resp
.
ok
:
data
=
dict
(
xmltodict
.
parse
(
resp
.
text
)[
"root"
])
self
.
response
=
data
else
:
data
=
dict
(
code
=
resp
.
status_code
,
message
=
resp
.
text
)
self
.
response
=
data
self
.
response
=
data
except
:
data
=
dict
(
code
=
500
,
message
=
"No Response From Biller"
)
self
.
response
=
data
data
=
self
.
pars_data
(
data
)
self
.
result
=
data
...
...
src/agratek/api/merchant/views/vsi/pulsa.py
View file @
3f80968
...
...
@@ -2,7 +2,7 @@ from opensipkd.pasar.models import PartnerProduk
import
requests
import
xmltodict
from
agratek.api.merchant.tools
import
JsonRpcError
from
agratek.api.merchant.views.vsi
import
Vendor
as
VendorClass
from
agratek.api.merchant.views.vsi
import
Vendor
as
VendorClass
,
vsi_status
import
logging
log
=
logging
.
getLogger
(
__name__
)
...
...
@@ -24,25 +24,30 @@ class Vendor(VendorClass):
:return:
"""
code
=
"rc"
in
data
and
int
(
data
[
"rc"
])
or
0
if
code
==
0
:
self
.
status
=
vsi_status
[
str
(
code
)][
"status"
]
status
=
self
.
status
==
-
3
and
"FAILED"
or
"PENDING"
if
status
==
"PENDING"
:
code
=
68
if
self
.
status
>-
3
:
product_id
=
self
.
invoice_det
.
produk
.
id
partner_id
=
self
.
invoice_det
.
h2h_ar_invoice
.
customer_id
discount
=
PartnerProduk
.
get_discount
(
partner_id
,
product_id
)
harga
=
self
.
vendor_produk
.
produk
.
harga
self
.
status
=
1
status
=
"status"
in
data
and
data
[
"status"
]
or
""
if
not
harga
:
raise
JsonRpcError
()
else
:
discount
=
0
harga
=
0
self
.
status
=
-
1
result
=
dict
(
status
=
"status"
in
data
and
data
[
"status"
]
or
"PENDING"
,
status
=
status
,
code
=
code
,
message
=
"rcm"
in
data
\
and
(
data
[
"rcm"
]
==
"00000"
and
"SUCCESS"
or
data
[
"rcm"
])
\
or
"PENDING"
,
or
status
,
serial_number
=
"serialnumber"
in
data
and
data
[
"serialnumber"
]
or
""
,
subtotal
=
int
(
harga
),
discount
=
int
(
discount
),
...
...
@@ -60,21 +65,21 @@ class Vendor(VendorClass):
try
:
result
=
requests
.
get
(
self
.
url
,
params
=
params
,
timeout
=
15
)
if
result
.
ok
:
data
=
xmltodict
.
parse
(
result
.
text
)[
"root"
]
data
=
dict
(
xmltodict
.
parse
(
result
.
text
)[
"root"
])
else
:
data
=
dict
(
code
=
result
.
status_code
,
message
=
result
.
text
)
self
.
response
=
data
log
.
info
(
"Response:
%
s"
%
(
data
))
except
requests
.
exceptions
.
RequestException
as
e
:
data
=
dict
(
code
=
e
.
errno
,
message
=
e
.
strerror
)
log
.
info
(
"VSI PULSA Response:
%
s"
%
(
data
))
self
.
response
=
data
self
.
result
=
self
.
pars_data
(
data
)
log
.
info
(
"
VSI PULSA
Result:
%
s"
%
(
self
.
result
))
log
.
info
(
"Result:
%
s"
%
(
self
.
result
))
self
.
save_log
(
'inquiry'
)
return
data
return
self
.
result
def
payment
(
self
):
params
=
self
.
get_params
(
cmd
=
'PAY'
,
modul
=
'ISI'
)
...
...
@@ -86,18 +91,18 @@ class Vendor(VendorClass):
result
=
requests
.
get
(
self
.
url
,
params
=
params
,
timeout
=
15
)
if
result
.
ok
:
data
=
dict
(
xmltodict
.
parse
(
result
.
text
)[
"root"
])
self
.
response
=
data
else
:
data
=
dict
(
code
=
result
.
status_code
,
message
=
result
.
text
)
self
.
response
=
data
log
.
info
(
"Payment Response:
%
s"
%
(
data
))
except
requests
.
exceptions
.
RequestException
as
e
:
data
=
dict
(
code
=
e
.
errno
,
message
=
e
.
strerror
)
log
.
info
(
"Payment Response:
%
s"
%
(
data
))
self
.
amt_buy
=
"harga"
in
data
and
data
[
"harga"
]
or
self
.
amt_buy
self
.
vend_inv_no
=
"ref_num"
in
data
and
data
[
"ref_num"
]
or
self
.
vend_inv_no
self
.
response
=
data
self
.
result
=
self
.
pars_data
(
data
)
log
.
info
(
"Payment Result:
%
s"
%
(
self
.
result
))
self
.
save_log
(
'payment'
)
...
...
@@ -105,14 +110,24 @@ class Vendor(VendorClass):
def
advice
(
self
):
params
=
self
.
get_params
(
cmd
=
'ADV'
,
modul
=
'ISI'
)
params
[
"tujuan"
]
=
self
.
id_pel
params
[
"voucherid"
]
=
self
.
vendor_produk
.
kode
self
.
request
=
params
result
=
requests
.
get
(
self
.
url
,
params
=
params
,
timeout
=
15
)
if
result
.
ok
:
data
=
xmltodict
.
parse
(
result
.
text
)[
"root"
]
log
.
info
(
"Advice Request:
%
s"
%
(
self
.
request
))
try
:
result
=
requests
.
get
(
self
.
url
,
params
=
params
,
timeout
=
15
)
if
result
.
ok
:
data
=
xmltodict
.
parse
(
result
.
text
)[
"root"
]
else
:
data
=
dict
(
code
=
result
.
status_code
,
message
=
result
.
text
)
self
.
response
=
data
else
:
data
=
dict
(
error
=
result
.
status_code
)
log
.
info
(
"Advice Response:
%
s"
%
(
self
.
response
))
except
:
data
=
dict
(
code
=
999
,
message
=
"No Response From Biller"
)
self
.
result
=
data
log
.
info
(
"Advice Result:
%
s"
%
(
self
.
result
))
self
.
save_log
(
'advice'
)
return
data
...
...
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