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 cc26715f
authored
Jul 30, 2019
by
Solo Group
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
pln
1 parent
4bd4cd6a
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
35 additions
and
17 deletions
src/agratek/api/merchant/views/odeo.py
src/agratek/api/merchant/views/vendor.py
src/agratek/api/merchant/views/odeo.py
View file @
cc26715
...
...
@@ -105,21 +105,32 @@ class Vendor(VendorClass):
resp
=
self
.
request_post
(
params
,
'/prepaid/purchase'
)
try
:
result
=
json
.
loads
(
resp
.
text
)
success
=
True
except
:
result
=
resp
.
text
success
=
False
self
.
response
=
result
log
.
info
(
"ODEO Payment Response:
%
s"
%
self
.
response
)
if
resp
.
ok
:
# self.status = 1 # sukses
if
success
:
if
result
[
"status"
]
==
"SUCCESS"
:
self
.
status
=
1
elif
result
[
"status"
]
==
"PENDING"
:
self
.
status
=
-
1
elif
result
[
"status"
]
==
"GAGAL"
:
self
.
status
=
-
2
data
=
"data"
in
result
and
result
[
"data"
]
or
None
if
data
:
self
.
vend_trx
=
"order_id"
in
data
and
data
[
"order_id"
]
or
None
self
.
vend_inv_no
=
"order_id"
in
data
and
data
[
"order_id"
]
or
None
self
.
amt_buy
=
"price"
in
data
and
data
[
"price"
]
or
0
parsd
=
self
.
pars_data
(
data
)
if
not
parsd
:
else
:
#
parsd = self.pars_data(data)
#
if not parsd:
self
.
status
=
-
4
parsd
=
dict
(
code
=
500
,
message
=
"Other Error"
,
...
...
src/agratek/api/merchant/views/vendor.py
View file @
cc26715
...
...
@@ -20,7 +20,7 @@ from pyramid.httpexceptions import HTTPFound
from
pyramid.view
import
view_config
from
.
import
BaseView
# , save_file_upload
from
..models
import
(
DBSession
,
flush_row
,
Partner
,
PartnerProduk
)
from
..models
import
(
DBSession
,
flush_row
,
Partner
,
PartnerProduk
,
H2hArInvoice
)
from
..models
import
(
Produk
,
ProdukKategori
)
from
..tools
import
(
btn_next
,
date_from_str
,
get_settings
,
btn_reset
,
btn_inquiry
,
btn_advice
,
btn_payment
)
...
...
@@ -49,6 +49,7 @@ class VendorClass(object):
self
.
serial_number
=
invoice_det
and
hasattr
(
invoice_det
,
'serial_number'
)
\
and
invoice_det
.
serial_number
or
None
self
.
amt_buy
=
0
def
save_log
(
self
,
typ
):
# if not self.partner_log:
...
...
@@ -70,6 +71,10 @@ class VendorClass(object):
if
self
.
vend_inv_no
:
self
.
invoice_det
.
vend_inv_no
=
self
.
vend_inv_no
if
self
.
amt_buy
:
self
.
invoice_det
.
amt_buy
=
self
.
amt_buy
if
typ
==
'inquiry'
:
self
.
invoice_det
.
inquiry
=
dict
(
request
=
self
.
request
,
response
=
self
.
response
)
...
...
@@ -177,25 +182,27 @@ def proses_odeo(request):
log
.
info
(
"Signature Vendor Different"
)
log
.
info
(
"local
%
s, vendor
%
s"
%
(
signature
,
data
[
"signature"
]))
return
dict
(
error
=
"Signature Different"
)
order
=
PartnerLog
.
query
()
\
.
filter
(
PartnerLog
.
vendor_id
==
partner
.
id
,
PartnerLog
.
vend_trx
==
str
(
order_id
))
.
first
()
order
=
H2hArInvoice
.
query
()
\
.
filter
(
H2hArInvoice
.
vendor_id
==
partner
.
id
,
H2hArInvoice
.
vend_inv_no
==
str
(
order_id
))
.
first
()
if
order
:
if
status
==
"COMPLETED"
:
order
.
status
=
1
else
:
order
.
status
=
-
1
flush_row
(
order
)
customer
=
Partner
.
query_id
(
order
.
customer_id
)
.
first
()
if
customer
and
customer
.
website
:
users
=
customer
.
users
url
=
customer
.
website
c_data
=
dict
(
trx_id
=
order
.
cust_trx
,
status
=
status
,
signature
=
sha256
(
users
.
user_name
+
users
.
api_key
))
with
requests
.
session
():
requests
.
post
(
url
,
data
=
c_data
)
#
# customer = Partner.query_id(order.customer_id).first()
# if customer and customer.website:
# users = customer.users
# url = customer.website
# c_data = dict(trx_id=order.cust_trx,
# status=status,
# signature=sha256(users.user_name + users.api_key))
# with requests.session():
# requests.post(url, data=c_data)
@view_config
(
route_name
=
'api-vendor-notify'
,
renderer
=
'json'
)
...
...
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