self.query_params[Constants.PAYZIPPY_TRANSACTION_ID] = payzippy_transaction_id def set_hash_method(self, hash_method): self.query_params[Constants.HASH_METHOD] = hash_method def set_hash(self, hashval): self.query_params[Constants.HASH] = hashval def set_merchant_transaction_id(self, merchant_transaction_id): self.query_params[Constants.MERCHANT_TRANSACTION_ID] = merchant_transaction_id def set_transaction_type(self, transaction_type): self.query_params[Constants.TRANSACTION_TYPE] = transaction_type def query(self): try: ValidityCheck.validate_query_params(self.query_params) except Exception, e: raise Exception("Invalid parameter : " + str(e)) else: hash_util = HashUtil(self.query_params, self.query_params.get(Constants.HASH_METHOD)) self.query_params[Constants.HASH] = hash_util.generate_hash() params = urllib.urlencode(self.query_params) conn = httplib.HTTPSConnection(self.query_api_host) conn.request(Constants.POST_METHOD, self.query_api_path, params, Constants.HEADERS) response = conn.getresponse() data = response.read() conn.close() return QueryResponse(data)
def is_valid_response(self): hash_util = HashUtil(self.params, self.params.get(Constants.HASH_METHOD)) return self.params.get(Constants.HASH) == hash_util.generate_hash()
def is_valid_response(self): hash_util = HashUtil(self.response_params, self.response_params.get(Constants.HASH_METHOD)) return self.response_params.get(Constants.HASH) == hash_util.generate_hash()
self.query_params[Constants.HASH_METHOD] = hash_method def set_hash(self, hashval): self.query_params[Constants.HASH] = hashval def set_merchant_transaction_id(self, merchant_transaction_id): self.query_params[ Constants.MERCHANT_TRANSACTION_ID] = merchant_transaction_id def set_transaction_type(self, transaction_type): self.query_params[Constants.TRANSACTION_TYPE] = transaction_type def query(self): try: ValidityCheck.validate_query_params(self.query_params) except Exception, e: raise Exception("Invalid parameter : " + str(e)) else: hash_util = HashUtil(self.query_params, self.query_params.get(Constants.HASH_METHOD)) self.query_params[Constants.HASH] = hash_util.generate_hash() params = urllib.urlencode(self.query_params) conn = httplib.HTTPSConnection(self.query_api_host) conn.request(Constants.POST_METHOD, self.query_api_path, params, Constants.HEADERS) response = conn.getresponse() data = response.read() conn.close() return QueryResponse(data)
self.request_params[Constants.HASH] = hashval def get_charging_api_url(self): return self.charging_api_url # ====================================== # Charge method, and its helping methods # ====================================== def charge(self): try: ValidityCheck.validate_charge_params(self.request_params) except Exception, e: self.response[Constants.STATUS] = Constants.ERROR self.response[Constants.ERROR_MESSAGE] = "Invalid parameter : " + str(e) else: self.set_timegmt() hash_util = HashUtil(self.request_params, self.request_params.get(Constants.HASH_METHOD)) self.request_params[Constants.HASH] = hash_util.generate_hash() if self.request_params[Constants.UI_MODE] == Constants.IFRAME: url = Config.charging_url + "?" + urllib.urlencode(self.request_params) else: url = Config.charging_url self.response[Constants.PARAMS] = self.request_params self.response[Constants.URL] = url self.response[Constants.STATUS] = Constants.OK return self.response
class RefundRequest(object): def __init__(self): self.request_params = {} self.set_merchant_id(Config.merchant_id) self.set_merchant_key_id(Config.merchant_key_id) self.set_hash_method(Config.hash_method) self.refund_api_host = Config.refund_url_host self.refund_api_path = Config.refund_url_path def set_merchant_id(self, merchant_id): self.request_params[Constants.MERCHANT_ID] = merchant_id def set_merchant_key_id(self, merchant_key_id): self.request_params[Constants.MERCHANT_KEY_ID] = merchant_key_id def set_hash_method(self, hash_method): self.request_params[Constants.HASH_METHOD] = hash_method.upper() def set_hash(self, hashval): self.request_params[Constants.HASH] = hashval def set_timegmt(self): self.request_params[Constants.TIMEGMT] = long(round(time.time() * 1000)) def set_payzippy_sale_transaction_id(self, payzippy_transaction_id): self.request_params[ Constants.PAYZIPPY_SALE_TRANSACTION_ID] = payzippy_transaction_id def set_merchant_transaction_id(self, merchant_transaction_id): self.request_params[ Constants.MERCHANT_TRANSACTION_ID] = merchant_transaction_id def set_refund_amount(self, refund_amount): self.request_params[Constants.REFUND_AMOUNT] = refund_amount def set_refund_reason(self, refund_reason): self.request_params[Constants.REFUND_REASON] = refund_reason def set_refunded_by(self, refunded_by): self.request_params[Constants.REFUNDED_BY] = refunded_by def set_udf1(self, udf1): self.request_params[Constants.UDF1] = udf1 def set_udf2(self, udf2): self.request_params[Constants.UDF2] = udf2 def set_udf3(self, udf3): self.request_params[Constants.UDF3] = udf3 def set_udf4(self, udf4): self.request_params[Constants.UDF4] = udf4 def set_udf5(self, udf5): self.request_params[Constants.UDF5] = udf5 def refund(self): try: ValidityCheck.validate_refund_params(self.request_params) except Exception, e: raise Exception("Invalid parameter : " + str(e)) hash_util = HashUtil(self.request_params, self.request_params.get(Constants.HASH_METHOD)) self.request_params[Constants.HASH] = hash_util.generate_hash() params = urllib.urlencode(self.request_params) conn = httplib.HTTPSConnection(self.refund_api_host) conn.request(Constants.POST_METHOD, self.refund_api_path, params, Constants.HEADERS) response = conn.getresponse() data = response.read() conn.close() return RefundResponse(data)