Commit aab18d42 by yasir

update notify

1 parent 181b1140
...@@ -33,6 +33,7 @@ def update_harga(p, k, v): ...@@ -33,6 +33,7 @@ def update_harga(p, k, v):
def purchase_notify(order): def purchase_notify(order):
print('purchase_notify >>')
# Callback to merchant # Callback to merchant
if hasattr(order, "customer_id"): if hasattr(order, "customer_id"):
customer = order.customer customer = order.customer
...@@ -41,6 +42,9 @@ def purchase_notify(order): ...@@ -41,6 +42,9 @@ def purchase_notify(order):
invoice = order.h2h_ar_invoice invoice = order.h2h_ar_invoice
customer = invoice.customer customer = invoice.customer
print('purchase_notify customer.website >>')
print(customer.website)
if customer and customer.website: if customer and customer.website:
url = customer.website url = customer.website
users = customer.users users = customer.users
...@@ -69,6 +73,8 @@ def purchase_notify(order): ...@@ -69,6 +73,8 @@ def purchase_notify(order):
dat.update(produk=produk) dat.update(produk=produk)
data.append(dat) data.append(dat)
log.info("Notify Save: %s" % (data)) log.info("Notify Save: %s" % (data))
print('purchase_notify order.notify >>')
print(order.notify)
order.notify["result"] = data order.notify["result"] = data
flush_row(order) flush_row(order)
js = get_jsonrpc(method="notify", params=dict(data=data)) js = get_jsonrpc(method="notify", params=dict(data=data))
......
...@@ -62,22 +62,19 @@ class Vendor(VendorClass): ...@@ -62,22 +62,19 @@ class Vendor(VendorClass):
self.save_log("inquiry") self.save_log("inquiry")
# try: # try:
# lolable = Lolable(self.vendor_produk, self.invoice_det)
# # resp = lolable.stupeed(json.dumps(params))
# resp = lolable.inquat(json.dumps(params)) # resp = requests.get(url, params=params, verify=False,
# headers=self.get_headers())
# print('resp_inquat >>') # print('respon inquiry beneran >>')
# print(resp_dummy) # print(resp.text)
# # resp = requests.get(url, params=params, verify=False,
# # headers=self.get_headers())
# except Exception as e: # except Exception as e:
# log.info(e) # log.info(e)
# print('error lolable >>') # print('error lolable >>')
# print(e) # print(e)
# return # return
lolable = Lolable(self.vendor_produk, self.invoice_det) lolable = Lolable(self.vendor_produk, self.invoice_det)
resp = lolable.inquat(json.dumps(params)) resp = lolable.inquat(json.dumps(params))
...@@ -180,15 +177,20 @@ class Vendor(VendorClass): ...@@ -180,15 +177,20 @@ class Vendor(VendorClass):
parsd = self.get_price() parsd = self.get_price()
url = self.get_url("/prepaid/purchase") url = self.get_url("/prepaid/purchase")
try: # try:
# resp = requests.post(url, data=json.dumps(params), verify=False, # resp = requests.post(url, data=json.dumps(params), verify=False,
# headers=self.get_headers(), timeout=timeout) # headers=self.get_headers(), timeout=timeout)
# print('response purchase beneran >>')
# print(resp.text)
lolable = Lolable(self.vendor_produk, self.invoice_det) # except Exception as e:
resp = lolable.stupeed(json.dumps(params)) # print(e)
except Exception as e: # resp = None
print(e)
resp = None lolable = Lolable(self.vendor_produk, self.invoice_det)
resp = lolable.stupeed(json.dumps(params))
print('response purchase >>')
print(resp.text)
if resp is None or not resp.text: if resp is None or not resp.text:
return self.set_pending(parsd, typ="payment") return self.set_pending(parsd, typ="payment")
...@@ -226,7 +228,7 @@ class Vendor(VendorClass): ...@@ -226,7 +228,7 @@ class Vendor(VendorClass):
self.serial_number = 'serial_number' in data and data["serial_number"] \ self.serial_number = 'serial_number' in data and data["serial_number"] \
or self.serial_number or self.serial_number
kirim_notify(self.invoice_det.h2h_ar_invoice.cust_inv_no) # kirim_notify(self.invoice_det.h2h_ar_invoice.cust_inv_no)
return self.set_success(parsd, typ="payment") return self.set_success(parsd, typ="payment")
elif resp.status_code == 400: elif resp.status_code == 400:
......
import json import json
import datetime import datetime
from opensipkd.pasar.models import PartnerProduk, H2hArInvoiceDet from opensipkd.pasar.models import PartnerProduk, H2hArInvoiceDet, flush_row
from agratek.api.merchant.views.notify_vendor import purchase_notify from agratek.api.merchant.views.notify_vendor import purchase_notify
from opensipkd.base import get_settings from opensipkd.base import get_settings
import hashlib import hashlib
...@@ -24,6 +24,7 @@ class Lolable(object): ...@@ -24,6 +24,7 @@ class Lolable(object):
elif type(inst_class).__name__ == 'H2hArInvoiceDet': elif type(inst_class).__name__ == 'H2hArInvoiceDet':
self.pl_idpel = self.inst_class.id_pel self.pl_idpel = self.inst_class.id_pel
self.pl_invoice_no = self.inst_class.h2h_ar_invoice.cust_inv_no
self.vendor_produk = vendor_produk self.vendor_produk = vendor_produk
...@@ -57,11 +58,15 @@ class Lolable(object): ...@@ -57,11 +58,15 @@ class Lolable(object):
dumb_dict['message'] = '' dumb_dict['message'] = ''
dumb_data = {} dumb_data = {}
dumb_data['order_id'] = 1 if self.pl_invoice_no:
dumb_data['order_id'] = self.pl_invoice_no
else:
dumb_data['order_id'] = self.pl_idpel
dumb_data['message'] = '' dumb_data['message'] = ''
if self.kategori == 'e-pulsa': if self.kategori == 'e-pulsa':
dumb_data['price'] = (self.get_price_epulsa(denom) * 1000) dumb_data['price'] = (self.get_price_epulsa(denom) * 1000)
dumb_data['serial_number'] = '9090909'
else: else:
if denom[:3] == 'PLN' and denom != "PLNPASCA": if denom[:3] == 'PLN' and denom != "PLNPASCA":
bayar = denom.replace('PLN', '') bayar = denom.replace('PLN', '')
...@@ -72,7 +77,7 @@ class Lolable(object): ...@@ -72,7 +77,7 @@ class Lolable(object):
dumb_data['price'] = 150000 dumb_data['price'] = 150000
dumb_data['name'] = 'Suriyah Sidkisari' dumb_data['name'] = 'Suriyah Sidkisari'
dumb_data['serial_number'] = '09090909' dumb_data['serial_number'] = '9090909'
dumb_data['status'] = 'SUCCESS' dumb_data['status'] = 'SUCCESS'
dumb_data.update(merch_request_dict['data']) dumb_data.update(merch_request_dict['data'])
...@@ -81,7 +86,16 @@ class Lolable(object): ...@@ -81,7 +86,16 @@ class Lolable(object):
self.text = json.dumps(dumb_dict) self.text = json.dumps(dumb_dict)
# self.kirim_notify() print('stupeed inst_class >>')
print(type(self.inst_class).__name__)
self.inst_class.status = 1
self.inst_class.notify = dict(postdata = kirim_notify(dumb_data['order_id']))
flush_row(self.inst_class)
purchase_notify(self.inst_class)
return self return self
# { # {
...@@ -388,7 +402,8 @@ def kirim_notify(order_id): ...@@ -388,7 +402,8 @@ def kirim_notify(order_id):
print(website) print(website)
print('dict_notify >>') print('dict_notify >>')
print(dict_notify) print(dict_notify)
requests.post(website, data=json.dumps(dict_notify), timeout=30) return dict_notify
# requests.post(website, data=json.dumps(dict_notify), timeout=30)
# requests.post(fake_web, data=json.dumps(dict_notify), timeout=30) # requests.post(fake_web, data=json.dumps(dict_notify), timeout=30)
# except Exception as e: # except Exception as e:
# print('error notify >>') # print('error notify >>')
......
...@@ -11,6 +11,7 @@ log = logging.getLogger(__name__) ...@@ -11,6 +11,7 @@ log = logging.getLogger(__name__)
def proses(data): def proses(data):
print('masuk odeo notify >>')
settings = get_settings() settings = get_settings()
mid = 'odeo_mid' in settings and settings["odeo_mid"] or None mid = 'odeo_mid' in settings and settings["odeo_mid"] or None
key = 'odeo_key' in settings and settings["odeo_key"] or None key = 'odeo_key' in settings and settings["odeo_key"] or None
...@@ -42,11 +43,22 @@ def proses(data): ...@@ -42,11 +43,22 @@ def proses(data):
signature)) signature))
log.info("local %s, vendor %s" % (signature, data["signature"])) log.info("local %s, vendor %s" % (signature, data["signature"]))
return dict(error="Signature Different") return dict(error="Signature Different")
print('odeo notify partner.id >>')
print(partner.id)
print('odeo notify order_id >>')
print(order_id)
order = H2hArInvoiceDet.query() \ order = H2hArInvoiceDet.query() \
.filter(H2hArInvoiceDet.vendor_id == partner.id, .filter(H2hArInvoiceDet.vendor_id == partner.id,
H2hArInvoiceDet.vend_inv_no == str(order_id)).first() H2hArInvoiceDet.vend_inv_no == str(order_id)).first()
print('purchase_notify data >>')
print(data)
print('purchase_notify order >>')
print(order)
if order: if order:
print(order.h2h_ar_invoice.cust_inv_no)
if status == "COMPLETED": if status == "COMPLETED":
order.status = 1 order.status = 1
else: else:
......
...@@ -27,6 +27,8 @@ class VendorClass(object): ...@@ -27,6 +27,8 @@ class VendorClass(object):
""" """
self.settings = get_settings() self.settings = get_settings()
self.vendor_produk = vendor_produk self.vendor_produk = vendor_produk
print('create vendor >>')
print(invoice_det)
self.invoice_det = invoice_det self.invoice_det = invoice_det
self.v_produk_kd = vendor_produk.kode self.v_produk_kd = vendor_produk.kode
self.kategori = vendor_produk.produk.kategori.kode self.kategori = vendor_produk.produk.kategori.kode
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!