styling.patch
eopayment/common.py | ||
---|---|---|
108 | 108 | |
109 | 109 |
class Form(object): |
110 | 110 |
def __init__(self, url, method, fields, encoding='utf-8', |
111 |
submit_name='Submit', submit_value='Submit'): |
|
111 |
submit_name='Submit', submit_value='Submit', |
|
112 |
submit_css=None): |
|
112 | 113 |
self.url = url |
113 | 114 |
self.method = method |
114 | 115 |
self.fields = fields |
115 | 116 |
self.encoding = encoding |
116 | 117 |
self.submit_name = submit_name |
117 | 118 |
self.submit_value = submit_value |
119 |
self.submit_css = submit_css |
|
118 | 120 | |
119 | 121 |
def __repr__(self): |
120 | 122 |
s = '<form method="%s" action="%s">' % (self.method, self.url) |
... | ... | |
130 | 132 |
if self.submit_value: |
131 | 133 |
s += ' value="%s"' % cgi.escape( |
132 | 134 |
self.submit_value.encode(self.encoding)) |
135 |
if self.submit_css: |
|
136 |
s += ' class="%s"' % cgi.escape( |
|
137 |
self.submit_css.encode(self.encoding)) |
|
133 | 138 |
s += ' />' |
134 | 139 |
s += '\n</form>' |
135 | 140 |
return s |
eopayment/paybox.py | ||
---|---|---|
189 | 189 |
'name': 'callback', |
190 | 190 |
'caption': _('Callback URL'), |
191 | 191 |
}, |
192 |
{ |
|
193 |
'name': 'callback_method', |
|
194 |
'caption': _('Method used for callback URL'), |
|
195 |
'default': 'GET', |
|
196 |
}, |
|
197 |
{ |
|
198 |
'name': 'return_url', |
|
199 |
'caption': _('Return URL after transaction') |
|
200 |
}, |
|
201 |
{ |
|
202 |
'name': 'payment_type', |
|
203 |
'caption': _('Payment type') |
|
204 |
}, |
|
205 |
{ |
|
206 |
'name': 'card_type', |
|
207 |
'caption': 'Card type' |
|
208 |
} |
|
192 | 209 |
] |
193 | 210 |
} |
194 | 211 | |
... | ... | |
204 | 221 |
self.rang, self.identifiant) |
205 | 222 |
d['PBX_CMD'] = unicode(transaction_id) |
206 | 223 |
d['PBX_PORTEUR'] = unicode(email) |
207 |
d['PBX_RETOUR'] = 'montant:M;reference:R;code_autorisation:A;erreur:E;signature:K' |
|
224 |
d['PBX_RETOUR'] = ( |
|
225 |
'montant:M;reference:R;code_autorisation:A;erreur:E;signature:K;' |
|
226 |
'date:W;heure:Q' |
|
227 |
) |
|
208 | 228 |
d['PBX_HASH'] = 'SHA512' |
209 |
d['PBX_TIME'] = kwargs.get('time') or (unicode(datetime.datetime.utcnow().isoformat('T')).split('.')[0]+'+00:00') |
|
229 |
d['PBX_TIME'] = kwargs.get('time') or ( |
|
230 |
unicode(datetime.datetime.utcnow().isoformat('T')) |
|
231 |
.split('.')[0]+'+00:00') |
|
210 | 232 |
d['PBX_ARCHIVAGE'] = transaction_id |
211 | 233 |
if self.callback: |
212 | 234 |
d['PBX_REPONDRE_A'] = unicode(self.callback) |
235 |
d['PBX_RUF1'] = unicode(self.callback_method) |
|
236 |
if self.payment_type and self.card_type: |
|
237 |
d['PBX_TYPEPAIEMENT'] = self.payment_type |
|
238 |
d['PBX_TYPECARTE'] = self.card_type |
|
239 |
if self.return_url: |
|
240 |
for key in [ |
|
241 |
'PBX_EFFECTUE', 'PBX_REFUSE', 'PBX_ANNULE', 'PBX_ATTENTE']: |
|
242 |
d[key] = self.return_url |
|
213 | 243 |
d = d.items() |
214 | 244 |
d = sign(d, self.shared_secret.decode('hex')) |
215 | 245 |
url = URLS[self.platform] |
... | ... | |
220 | 250 |
'name': unicode(k), |
221 | 251 |
'value': unicode(v), |
222 | 252 |
}) |
253 |
submit_value = kwargs.get("submit_value", u"Envoyer") |
|
254 |
submit_css = kwargs.get("submit_css") |
|
223 | 255 |
form = Form(url, 'POST', fields, submit_name=None, |
224 |
submit_value=u'Envoyer', encoding='utf-8') |
|
256 |
submit_value=submit_value, submit_css=submit_css, |
|
257 |
encoding='utf-8') |
|
225 | 258 |
return transaction_id, FORM, form |
226 | 259 | |
227 | 260 |
def response(self, query_string, callback=False, **kwargs): |
... | ... | |
237 | 270 |
data.append('%s=%s' % (key, urllib.quote(d[key][0]))) |
238 | 271 |
else: |
239 | 272 |
for key, value in urlparse.parse_qsl(query_string, True, True): |
240 |
if key == 'signature':
|
|
273 |
if key == 'heure':
|
|
241 | 274 |
break |
242 | 275 |
data.append('%s=%s' % (key, urllib.quote(value))) |
243 | 276 |
data = '&'.join(data) |
eopayment/systempayv2.py | ||
---|---|---|
81 | 81 |
Parameter('vads_capture_delay', 'n', 6, max_length=3, default=''), |
82 | 82 |
Parameter('vads_contrib', 'ans', 31, max_length=255, default='eopayment'), |
83 | 83 |
# defaut currency = EURO, norme ISO4217 |
84 |
Parameter('vads_currency', 'n', 10, length=3, default=978, needed=True),
|
|
84 |
Parameter('vads_currency', 'n', 10, length=3, default='978', needed=True),
|
|
85 | 85 |
Parameter('vads_cust_address', 'an', 19, max_length=255), |
86 | 86 |
# code ISO 3166 |
87 | 87 |
Parameter('vads_cust_country', 'a', 22, length=2, default='FR'), |
... | ... | |
304 | 304 |
transaction_id = '%s_%s' % (fields[VADS_TRANS_DATE], transaction_id) |
305 | 305 |
self.logger.debug('%s transaction id: %s', __name__, transaction_id) |
306 | 306 |
form = Form( |
307 |
url=self.service_url, |
|
308 |
method='POST', |
|
309 |
fields=[{'type': 'hidden', |
|
310 |
'name': name, |
|
311 |
'value': value} for name, value in fields.iteritems()]) |
|
307 |
url=self.service_url, |
|
308 |
method='POST', |
|
309 |
fields=[{'type': 'hidden', |
|
310 |
'name': name, |
|
311 |
'value': value} for name, value in fields.iteritems()], |
|
312 |
submit_value=kwargs.get('submit_value', 'Submit'), |
|
313 |
submit_css=kwargs.get('submit_css') |
|
314 |
) |
|
312 | 315 |
return transaction_id, FORM, form |
313 | 316 | |
314 | 317 |
def response(self, query_string, **kwargs): |