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):
...
@@ -67,14 +67,15 @@ class Vendor(VendorClass):
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'
)
resp
=
self
.
_inquiry
()
resp
=
self
.
_inquiry
()
if
not
resp
.
text
:
if
resp
is
None
or
not
resp
.
text
:
log
.
info
(
"Resp Tidak Ada, {}"
.
format
(
resp
))
log
.
info
(
"Resp Tidak Ada, {}"
.
format
(
resp
))
return
return
try
:
try
:
result
=
json
.
loads
(
resp
.
text
)
result
=
json
.
loads
(
resp
.
text
)
except
:
except
:
result
=
resp
.
text
self
.
response
=
resp
.
text
return
self
.
set_failed
(
typ
=
"inquiry"
)
self
.
response
=
result
self
.
response
=
result
log
.
info
(
"Inquiry Response:
%
s"
%
self
.
response
)
log
.
info
(
"Inquiry Response:
%
s"
%
self
.
response
)
...
@@ -82,7 +83,7 @@ class Vendor(VendorClass):
...
@@ -82,7 +83,7 @@ class Vendor(VendorClass):
self
.
status
=
1
# sukses
self
.
status
=
1
# sukses
data
=
"data"
in
result
and
result
[
"data"
]
or
None
data
=
"data"
in
result
and
result
[
"data"
]
or
None
parsd
=
self
.
pars_data
(
data
)
parsd
=
self
.
pars_data
(
data
)
return
self
.
set_success
(
parsd
)
# parsd
return
self
.
set_success
(
parsd
,
"inquiry"
)
# parsd
elif
resp
.
status_code
==
400
:
elif
resp
.
status_code
==
400
:
data
=
"data"
in
result
and
result
[
"data"
]
or
None
data
=
"data"
in
result
and
result
[
"data"
]
or
None
...
@@ -92,9 +93,9 @@ class Vendor(VendorClass):
...
@@ -92,9 +93,9 @@ class Vendor(VendorClass):
pos
=
msg
.
find
(
"Sisa saldo"
)
pos
=
msg
.
find
(
"Sisa saldo"
)
message
=
pos
>
-
1
and
msg
[:
pos
]
or
msg
message
=
pos
>
-
1
and
msg
[:
pos
]
or
msg
parsd
=
self
.
pars_data
(
data
)
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()
# parsd = self._inquiry()
...
@@ -105,9 +106,38 @@ class Vendor(VendorClass):
...
@@ -105,9 +106,38 @@ class Vendor(VendorClass):
# Jika kategory bukan e-pulsa Call Inquiry First
# Jika kategory bukan e-pulsa Call Inquiry First
parsd
=
None
parsd
=
None
if
self
.
vendor_produk
.
produk
.
kategori
.
kode
!=
"e-pulsa"
:
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
:
if
not
parsd
:
return
self
.
set_
failed
(
)
return
self
.
set_
pending
(
typ
=
"inquiru"
)
params
=
dict
(
params
=
dict
(
data
=
dict
(
data
=
dict
(
...
@@ -128,20 +158,19 @@ class Vendor(VendorClass):
...
@@ -128,20 +158,19 @@ class Vendor(VendorClass):
except
:
except
:
resp
=
None
resp
=
None
if
resp
is
None
:
if
resp
is
None
or
not
resp
.
text
:
return
self
.
set_pending
(
parsd
,
typ
=
"payment"
)
return
self
.
set_pending
(
parsd
,
typ
=
"payment"
)
# todo: dibuat seolah menjadi belum di transaksikan
# todo: membuat cron untuk melakukan pengecekan transaksi
try
:
try
:
result
=
json
.
loads
(
resp
.
text
)
result
=
json
.
loads
(
resp
.
text
)
self
.
response
=
result
log
.
info
(
"Payment Response:
%
s"
%
self
.
response
)
except
:
except
:
result
=
resp
.
text
self
.
response
=
resp
.
text
self
.
response
=
result
log
.
info
(
"Payment Response:
%
s"
%
self
.
response
)
log
.
info
(
"Payment Response:
%
s"
%
self
.
response
)
return
self
.
set_pending
(
parsd
,
typ
=
"payment"
)
return
self
.
set_pending
(
parsd
,
typ
=
"payment"
)
self
.
response
=
result
log
.
info
(
"Payment Response:
%
s"
%
self
.
response
)
# odeo mengembalikan result dalam bentuk status
# odeo mengembalikan result dalam bentuk status
# 0200 ok
# 0200 ok
# 0400 bad request
# 0400 bad request
...
@@ -180,8 +209,11 @@ class Vendor(VendorClass):
...
@@ -180,8 +209,11 @@ class Vendor(VendorClass):
sn
=
len
(
sn_spl
)
>
1
and
sn_spl
[
1
]
or
""
sn
=
len
(
sn_spl
)
>
1
and
sn_spl
[
1
]
or
""
parsd
[
"serial_number"
]
=
sn
parsd
[
"serial_number"
]
=
sn
return
self
.
set_failed
(
parsd
,
message
=
message
,
typ
=
"payment"
)
return
self
.
set_failed
(
parsd
,
message
=
message
,
typ
=
"payment"
)
elif
resp
.
status_code
==
401
:
elif
resp
.
status_code
==
401
:
return
self
.
set_failed
(
parsd
,
typ
=
"payment"
)
return
self
.
set_failed
(
parsd
,
typ
=
"payment"
)
else
:
return
def
advice
(
self
):
def
advice
(
self
):
if
not
self
.
v_produk_kd
or
not
self
.
id_pel
or
not
self
.
invoice_det
:
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):
...
@@ -105,7 +105,8 @@ class VendorClass(object):
def
set_pending
(
self
,
data
=
None
,
message
=
None
,
typ
=
"payment"
):
def
set_pending
(
self
,
data
=
None
,
message
=
None
,
typ
=
"payment"
):
self
.
status
=
-
1
self
.
status
=
-
1
data
=
data
and
data
or
{}
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
,
data
.
update
(
dict
(
denom
=
self
.
vendor_produk
.
produk
.
kode
,
id_pel
=
self
.
id_pel
,
id_pel
=
self
.
id_pel
,
code
=
68
,
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