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 afc58a6d
authored
Feb 13, 2020
by
yasir
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
perbaikan
1 parent
b2aa328a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
27 additions
and
8 deletions
src/agratek/api/merchant/views/omnipay/__init__.py
src/agratek/api/merchant/views/omnipay/__init__.py
View file @
afc58a6
...
...
@@ -2,12 +2,14 @@ import json
import
base64
import
logging
import
hashlib
import
requests
from
datetime
import
datetime
from
opensipkd.base
import
get_settings
,
is_devel
,
get_host
from
opensipkd.base.models
import
flush_row
from
pyramid.httpexceptions
import
HTTPFound
from
..vendor
import
VendorClass
,
sha256
from
urllib.parse
import
urlparse
,
urlencode
log
=
logging
.
getLogger
(
__name__
)
...
...
@@ -29,9 +31,12 @@ class Vendor(VendorClass): # VendorClass
#total yang harus dibayarkan = fee vendor+fee agratek + tagihan VA
self
.
amt
=
vendor_produk
.
harga
+
float
(
invoice_det
.
amt_sell
)
self
.
amt
=
int
(
self
.
amt
)
self
.
orderid
=
invoice_det
.
cust_inv_no
self
.
verify_key
=
self
.
merchantid
=
'omnipay_verify_key'
in
settings
and
settings
[
'omnipay_verify_key'
]
or
''
self
.
verify_key
=
'omnipay_verify_key'
in
settings
and
settings
[
'omnipay_verify_key'
]
or
''
vcode
=
hashlib
.
md5
((
str
(
self
.
amt
)
+
self
.
merchantid
+
self
.
orderid
+
self
.
verify_key
)
.
encode
())
.
hexdigest
()
print
(
'self.amt >>'
)
print
(
self
.
amt
)
print
(
'self.merchantid >>'
)
...
...
@@ -52,11 +57,20 @@ class Vendor(VendorClass): # VendorClass
def
_get_minute_duration
(
self
,
time_stamp
):
datetime_object
=
datetime
.
strptime
(
time_stamp
,
'
%
Y
%
m
%
d
%
H
%
M
%
S'
)
print
(
'_get_minute_duration time_stamp >>'
)
print
(
time_stamp
)
print
(
'_get_minute_duration datetime_object >>'
)
print
(
datetime_object
)
current_datetime
=
datetime
.
now
()
.
strftime
(
'
%
Y
%
m
%
d
%
H
%
M
%
S'
)
current_datetime
=
datetime
.
strptime
(
current_datetime
,
'
%
Y
%
m
%
d
%
H
%
M
%
S'
)
print
(
'_get_minute_duration current_datetime >>'
)
print
(
current_datetime
)
delta_minute
=
datetime_object
-
current_datetime
print
(
'_get_minute_duration delta_minute >>'
)
print
(
delta_minute
)
minute_day
=
delta_minute
.
days
*
1440
minute_hour
=
delta_minute
.
seconds
//
60
...
...
@@ -79,8 +93,14 @@ class Vendor(VendorClass): # VendorClass
try
:
omni_resp
=
json
.
loads
(
plain_omni
)
self
.
response
=
omni_resp
except
Exception
as
e
:
omni_resp
=
{}
self
.
response
=
plain_omni
log
.
info
(
"Omnipay RESPONSE: {}"
.
format
(
json
.
dumps
(
self
.
response
)))
response_dict
=
{}
...
...
@@ -91,6 +111,9 @@ class Vendor(VendorClass): # VendorClass
response_dict
[
'invoice_no'
]
=
self
.
invoice_det
.
cust_inv_no
response_dict
[
'description'
]
=
self
.
invoice_det
.
description
print
(
'_transform_omnipay_response >> omni_resp'
)
print
(
omni_resp
)
if
'va'
in
omni_resp
:
response_dict
[
'code'
]
=
0
response_dict
[
'message'
]
=
'SUCCESS'
...
...
@@ -126,7 +149,7 @@ class Vendor(VendorClass): # VendorClass
json_request
[
'bill_mobile'
]
=
self
.
invoice_det
.
inv_cust_phone
json_request
[
'bill_desc'
]
=
'Pembayaran via Virtual Account dari Tuan/Nyonya : '
+
json_request
[
'bill_name'
]
json_request
[
'expiry_minute'
]
=
self
.
_get_minute_duration
(
self
.
invoice_det
.
inv_
time_stamp
)
json_request
[
'expiry_minute'
]
=
self
.
_get_minute_duration
(
self
.
invoice_det
.
inv_
valid_date
+
self
.
invoice_det
.
inv_valid_time
)
json_request
[
'vcode'
]
=
self
.
vcode
...
...
@@ -136,13 +159,9 @@ class Vendor(VendorClass): # VendorClass
log
.
info
(
"Omnipay REQUEST: {}"
.
format
(
json
.
dumps
(
self
.
request
)))
# send request to omnipay
result_data
=
self
.
_send_data_json
(
self
.
url
,
json
.
dumps
(
json_request
))
response
=
json
.
loads
(
result_data
)
self
.
response
=
response
log
.
info
(
"Omnipay RESPONSE: {}"
.
format
(
json
.
dumps
(
self
.
response
)))
result_data
=
self
.
_send_data_json
(
json
.
dumps
(
self
.
request
),
self
.
url
)
self
.
result
=
self
.
_transform_omnipay_response
(
self
.
response
)
self
.
result
=
self
.
_transform_omnipay_response
(
result_data
)
log
.
info
(
"Omnipay RESULT: {}"
.
format
(
json
.
dumps
(
self
.
result
)))
self
.
save_log
(
typ
=
"inquiry"
)
...
...
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