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 2acd213d
authored
Oct 08, 2019
by
Solo Group
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
odeo
1 parent
42227c16
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
48 additions
and
15 deletions
src/agratek/api/merchant/views/odeo/__init__.py
src/agratek/api/merchant/views/vendor.py
src/agratek/api/merchant/views/odeo/__init__.py
View file @
2acd213
...
...
@@ -67,14 +67,15 @@ class Vendor(VendorClass):
if
not
self
.
v_produk_kd
or
not
self
.
id_pel
:
return
self
.
set_response
(
message
=
'Parameter tidak lengkap'
)
resp
=
self
.
_inquiry
()
if
not
resp
.
text
:
if
resp
is
None
or
not
resp
.
text
:
log
.
info
(
"Resp Tidak Ada, {}"
.
format
(
resp
))
return
try
:
result
=
json
.
loads
(
resp
.
text
)
except
:
result
=
resp
.
text
self
.
response
=
resp
.
text
return
self
.
set_failed
(
typ
=
"inquiry"
)
self
.
response
=
result
log
.
info
(
"Inquiry Response:
%
s"
%
self
.
response
)
...
...
@@ -82,7 +83,7 @@ class Vendor(VendorClass):
self
.
status
=
1
# sukses
data
=
"data"
in
result
and
result
[
"data"
]
or
None
parsd
=
self
.
pars_data
(
data
)
return
self
.
set_success
(
parsd
)
# parsd
return
self
.
set_success
(
parsd
,
"inquiry"
)
# parsd
elif
resp
.
status_code
==
400
:
data
=
"data"
in
result
and
result
[
"data"
]
or
None
...
...
@@ -92,9 +93,9 @@ class Vendor(VendorClass):
pos
=
msg
.
find
(
"Sisa saldo"
)
message
=
pos
>
-
1
and
msg
[:
pos
]
or
msg
parsd
=
self
.
pars_data
(
data
)
return
self
.
set_failed
(
parsd
,
message
=
message
,
typ
=
"
payment
"
)
return
self
.
set_failed
(
parsd
,
message
=
message
,
typ
=
"
inquiry
"
)
return
return
self
.
set_failed
(
typ
=
"inquiry"
)
# parsd = self._inquiry()
...
...
@@ -105,9 +106,38 @@ class Vendor(VendorClass):
# Jika kategory bukan e-pulsa Call Inquiry First
parsd
=
None
if
self
.
vendor_produk
.
produk
.
kategori
.
kode
!=
"e-pulsa"
:
parsd
=
self
.
_inquiry
()
resp
=
self
.
_inquiry
()
if
resp
is
None
or
not
resp
.
text
:
log
.
info
(
"Resp Tidak Ada, {}"
.
format
(
resp
))
return
try
:
result
=
json
.
loads
(
resp
.
text
)
except
:
self
.
response
=
resp
.
text
return
self
.
set_pending
(
typ
=
"inquiry"
)
self
.
response
=
result
log
.
info
(
"Inquiry Response:
%
s"
%
self
.
response
)
if
resp
.
status_code
==
200
:
self
.
status
=
1
# sukses
data
=
"data"
in
result
and
result
[
"data"
]
or
None
parsd
=
self
.
pars_data
(
data
)
elif
resp
.
status_code
==
400
:
data
=
"data"
in
result
and
result
[
"data"
]
or
None
message
=
""
if
data
and
"errors"
in
data
:
msg
=
data
[
"errors"
][
0
]
pos
=
msg
.
find
(
"Sisa saldo"
)
message
=
pos
>
-
1
and
msg
[:
pos
]
or
msg
parsd
=
self
.
pars_data
(
data
)
return
self
.
set_pending
(
parsd
,
message
=
message
,
typ
=
"inquiry"
)
else
:
return
self
.
set_pending
(
typ
=
"inquiry"
)
if
not
parsd
:
return
self
.
set_
failed
(
)
return
self
.
set_
pending
(
typ
=
"inquiru"
)
params
=
dict
(
data
=
dict
(
...
...
@@ -128,20 +158,19 @@ class Vendor(VendorClass):
except
:
resp
=
None
if
resp
is
None
:
if
resp
is
None
or
not
resp
.
text
:
return
self
.
set_pending
(
parsd
,
typ
=
"payment"
)
# todo: dibuat seolah menjadi belum di transaksikan
# todo: membuat cron untuk melakukan pengecekan transaksi
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
)
return
self
.
set_pending
(
parsd
,
typ
=
"payment"
)
self
.
response
=
result
log
.
info
(
"Payment Response:
%
s"
%
self
.
response
)
# odeo mengembalikan result dalam bentuk status
# 0200 ok
# 0400 bad request
...
...
@@ -180,8 +209,11 @@ class Vendor(VendorClass):
sn
=
len
(
sn_spl
)
>
1
and
sn_spl
[
1
]
or
""
parsd
[
"serial_number"
]
=
sn
return
self
.
set_failed
(
parsd
,
message
=
message
,
typ
=
"payment"
)
elif
resp
.
status_code
==
401
:
return
self
.
set_failed
(
parsd
,
typ
=
"payment"
)
else
:
return
def
advice
(
self
):
if
not
self
.
v_produk_kd
or
not
self
.
id_pel
or
not
self
.
invoice_det
:
...
...
src/agratek/api/merchant/views/vendor.py
View file @
2acd213
...
...
@@ -105,7 +105,8 @@ class VendorClass(object):
def
set_pending
(
self
,
data
=
None
,
message
=
None
,
typ
=
"payment"
):
self
.
status
=
-
1
data
=
data
and
data
or
{}
message
=
"TRX ke {} sedang di proses"
.
format
(
self
.
id_pel
)
if
not
message
:
message
=
"TRX ke {} sedang di proses"
.
format
(
self
.
id_pel
)
data
.
update
(
dict
(
denom
=
self
.
vendor_produk
.
produk
.
kode
,
id_pel
=
self
.
id_pel
,
code
=
68
,
...
...
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