Commit afc58a6d by yasir

perbaikan

1 parent b2aa328a
......@@ -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")
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!