Skip to content

Commit 06115c6

Browse files
author
dpzz
authored
Merge pull request #10 from barbossa/master
added cnb_data method for LiqPay
2 parents dc6a223 + 7719df7 commit 06115c6

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

liqpay/liqpay.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ def cnb_form(self, params):
9898
currency=currency if currency != 'RUR' else 'RUB',
9999
sandbox=int(bool(params.get('sandbox')))
100100
)
101-
params_templ = {'data': base64.b64encode(json.dumps(params))}
101+
params_templ = {'data': self.cnb_data(params)}
102102
params_templ['signature'] = self._make_signature(self._private_key, params_templ['data'], self._private_key)
103103
form_action_url = urljoin(self._host, '3/checkout/')
104104
format_input = lambda k, v: self.INPUT_TEMPLATE.format(name=k, value=to_unicode(v))
@@ -111,8 +111,13 @@ def cnb_form(self, params):
111111

112112
def cnb_signature(self, params):
113113
params = self._prepare_params(params)
114-
print base64.b64encode(json.dumps(params))
115-
return self._make_signature(self._private_key, base64.b64encode(json.dumps(params)), self._private_key)
114+
115+
data_to_sign = self.cnb_data(params)
116+
return self._make_signature(self._private_key, data_to_sign, self._private_key)
117+
118+
def cnb_data(self, params):
119+
params = self._prepare_params(params)
120+
return base64.b64encode(json.dumps(params))
116121

117122
def str_to_sign(self, str):
118123
return base64.b64encode(hashlib.sha1(str).digest())

liqpay/liqpay3.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ def cnb_form(self, params):
8282
sandbox=int(bool(params.get("sandbox")))
8383
)
8484

85-
encoded_data = base64.b64encode(json.dumps(params).encode("utf-8")).decode("ascii")
85+
encoded_data = self.cnb_data(params)
8686
params_templ = {"data": encoded_data}
8787

8888
params_templ["signature"] = self._make_signature(self._private_key, params_templ["data"], self._private_key)
@@ -98,8 +98,12 @@ def cnb_form(self, params):
9898
def cnb_signature(self, params):
9999
params = self._prepare_params(params)
100100

101-
data_to_sign = base64.b64encode(json.dumps(params).encode("utf-8")).decode("ascii")
101+
data_to_sign = self.cnb_data(params)
102102
return self._make_signature(self._private_key, data_to_sign, self._private_key)
103103

104+
def cnb_data(self, params):
105+
params = self._prepare_params(params)
106+
return base64.b64encode(json.dumps(params).encode("utf-8")).decode("ascii")
107+
104108
def str_to_sign(self, str):
105109
return base64.b64encode(hashlib.sha1(str.encode("utf-8")).digest()).decode("ascii")

0 commit comments

Comments
 (0)