From b2193e6734ab00c9434a159c12119bc49f3f50aa Mon Sep 17 00:00:00 2001 From: Aristobulo Meneses Date: Wed, 13 May 2015 11:49:25 +0200 Subject: [PATCH] [ADD] payment_sips contains acquirer definition to support Atos Wordline online payments Courtesy of Eezee-It Closes #6684 --- addons/payment_sips/__init__.py | 2 + addons/payment_sips/__openerp__.py | 37 +++ addons/payment_sips/controllers/__init__.py | 3 + addons/payment_sips/controllers/main.py | 60 +++++ addons/payment_sips/data/sips.xml | 28 +++ addons/payment_sips/models/__init__.py | 3 + addons/payment_sips/models/sips.py | 232 ++++++++++++++++++ .../payment_sips/static/description/icon.png | Bin 0 -> 24209 bytes .../payment_sips/static/src/img/sips_icon.png | Bin 0 -> 24209 bytes .../payment_sips/static/src/img/sips_logo.png | Bin 0 -> 24209 bytes .../payment_sips/views/payment_acquirer.xml | 20 ++ addons/payment_sips/views/sips.xml | 20 ++ 12 files changed, 405 insertions(+) create mode 100644 addons/payment_sips/__init__.py create mode 100644 addons/payment_sips/__openerp__.py create mode 100644 addons/payment_sips/controllers/__init__.py create mode 100644 addons/payment_sips/controllers/main.py create mode 100644 addons/payment_sips/data/sips.xml create mode 100644 addons/payment_sips/models/__init__.py create mode 100644 addons/payment_sips/models/sips.py create mode 100644 addons/payment_sips/static/description/icon.png create mode 100644 addons/payment_sips/static/src/img/sips_icon.png create mode 100644 addons/payment_sips/static/src/img/sips_logo.png create mode 100644 addons/payment_sips/views/payment_acquirer.xml create mode 100644 addons/payment_sips/views/sips.xml diff --git a/addons/payment_sips/__init__.py b/addons/payment_sips/__init__.py new file mode 100644 index 00000000000..396c76fe87a --- /dev/null +++ b/addons/payment_sips/__init__.py @@ -0,0 +1,2 @@ +import models +import controllers diff --git a/addons/payment_sips/__openerp__.py b/addons/payment_sips/__openerp__.py new file mode 100644 index 00000000000..89c36a757e9 --- /dev/null +++ b/addons/payment_sips/__openerp__.py @@ -0,0 +1,37 @@ +# -*- encoding: utf-8 -*- +############################################################################## +# +# Copyright Eezee-It +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +############################################################################## +{ + 'name': 'Worldline SIPS Payment Acquiring for online payments', + 'version': '1.0', + 'author': 'Eezee-It', + 'category': 'Hidden', + 'description': """ +Worldline SIPS Payment Acquirer for online payments + +Works with Worldline keys version 2.0, contains implementation of +payments acquirer using Worldline SIPS.""", + 'depends': ['payment'], + 'data': [ + 'views/sips.xml', + 'views/payment_acquirer.xml', + 'data/sips.xml', + ], + 'installable': True, +} diff --git a/addons/payment_sips/controllers/__init__.py b/addons/payment_sips/controllers/__init__.py new file mode 100644 index 00000000000..bbd183e955b --- /dev/null +++ b/addons/payment_sips/controllers/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +import main diff --git a/addons/payment_sips/controllers/main.py b/addons/payment_sips/controllers/main.py new file mode 100644 index 00000000000..47c9c8d0f0e --- /dev/null +++ b/addons/payment_sips/controllers/main.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- + +try: + import simplejson as json +except ImportError: + import json +import logging +import werkzeug + +from openerp import http +from openerp.http import request + +_logger = logging.getLogger(__name__) + + +class SipsController(http.Controller): + _notify_url = '/payment/sips/ipn/' + _return_url = '/payment/sips/dpn/' + + def _get_return_url(self, **post): + """ Extract the return URL from the data coming from sips. """ + return_url = post.pop('return_url', '') + if not return_url: + tx_obj = request.registry['payment.transaction'] + data = tx_obj._sips_data_to_object(post.get('Data')) + custom = json.loads(data.pop('returnContext', False) or '{}') + return_url = custom.get('return_url', '/') + return return_url + + def sips_validate_data(self, **post): + res = False + env = request.env + tx_obj = env['payment.transaction'] + acquirer_obj = env['payment.acquirer'] + + sips = acquirer_obj.search([('provider', '=', 'sips')], limit=1) + + security = sips._sips_generate_shasign(post) + if security == post['Seal']: + _logger.debug('Sips: validated data') + res = tx_obj.sudo().form_feedback(post, 'sips') + else: + _logger.warning('Sips: data are corrupted') + return res + + @http.route([ + '/payment/sips/ipn/'], + type='http', auth='none', methods=['POST']) + def sips_ipn(self, **post): + """ Sips IPN. """ + self.sips_validate_data(**post) + return '' + + @http.route([ + '/payment/sips/dpn'], type='http', auth="none", methods=['POST']) + def sips_dpn(self, **post): + """ Sips DPN """ + return_url = self._get_return_url(**post) + self.sips_validate_data(**post) + return werkzeug.utils.redirect(return_url) diff --git a/addons/payment_sips/data/sips.xml b/addons/payment_sips/data/sips.xml new file mode 100644 index 00000000000..69a5819d41e --- /dev/null +++ b/addons/payment_sips/data/sips.xml @@ -0,0 +1,28 @@ + + + + + + Sips + sips + + + test + You will be redirected to the Sips website after clicking on payment button.

]]>
+
+ + + Sips Payment Transaction + sips.payment.transaction + + + + Sips Payment Transaction + sips.payment.transaction + + + + +
+
diff --git a/addons/payment_sips/models/__init__.py b/addons/payment_sips/models/__init__.py new file mode 100644 index 00000000000..365abd07d65 --- /dev/null +++ b/addons/payment_sips/models/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +import sips diff --git a/addons/payment_sips/models/sips.py b/addons/payment_sips/models/sips.py new file mode 100644 index 00000000000..980873178a9 --- /dev/null +++ b/addons/payment_sips/models/sips.py @@ -0,0 +1,232 @@ +# -*- coding: utf-'8' "-*-" + +try: + import simplejson as json +except ImportError: + import json +import logging +from hashlib import sha256 +import urlparse +import unicodedata + +from openerp import models, fields, api +from openerp.tools.float_utils import float_compare +from openerp.tools.translate import _ +from openerp.addons.payment.models.payment_acquirer import ValidationError +from openerp.addons.payment_sips.controllers.main import SipsController + +_logger = logging.getLogger(__name__) + + +CURRENCY_CODES = { + 'EUR': '978', + 'USD': '840', + 'CHF': '756', + 'GBP': '826', + 'CAD': '124', + 'JPY': '392', + 'MXN': '484', + 'TRY': '949', + 'AUD': '036', + 'NZD': '554', + 'NOK': '578', + 'BRL': '986', + 'ARS': '032', + 'KHR': '116', + 'TWD': '901', +} + + +class AcquirerSips(models.Model): + _inherit = 'payment.acquirer' + # Fields + sips_merchant_id = fields.Char('SIPS API User Password', + required_if_provider='sips') + sips_secret = fields.Char('SIPS Secret', size=64, required_if_provider='sips') + + # Methods + def _get_sips_urls(self, environment): + """ Worldline SIPS URLS """ + url = { + 'prod': 'https://payment-webinit.sips-atos.com/paymentInit', + 'test': 'https://payment-webinit.simu.sips-atos.com/paymentInit', } + + return {'sips_form_url': url.get(environment, url['test']), } + + @api.model + def _get_providers(self): + providers = super(AcquirerSips, self)._get_providers() + providers.append(['sips', 'Sips']) + return providers + + def _sips_generate_shasign(self, values): + """ Generate the shasign for incoming or outgoing communications. + :param dict values: transaction values + :return string: shasign + """ + if self.provider != 'sips': + raise ValidationError(_('Incorrect payment acquirer provider')) + data = values['Data'] + + # Test key provided by Worldine + key = u'002001000000001_KEY1' + + if self.environment == 'prod': + key = getattr(self, 'sips_secret') + + shasign = sha256(data + key) + return shasign.hexdigest() + + @api.multi + def sips_form_generate_values(self, partner_values, tx_values): + self.ensure_one() + base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url') + currency = self.env['res.currency'].sudo().browse(tx_values['currency_id']) + currency_code = CURRENCY_CODES.get(currency.name, False) + if not currency_code: + raise ValidationError(_('Currency not supported by Wordline')) + amount = int(tx_values.get('amount') * 100) + if self.environment == 'prod': + # For production environment, key version 2 is required + merchant_id = getattr(self, 'sips_merchant_id') + key_version = '2' + else: + # Test key provided by Atos Wordline works only with version 1 + merchant_id = '002001000000001' + key_version = '1' + + sips_tx_values = dict(tx_values) + sips_tx_values.update({ + 'Data': u'amount=%s|' % amount + + u'currencyCode=%s|' % currency_code + + u'merchantId=%s|' % merchant_id + + u'normalReturnUrl=%s|' % urlparse.urljoin(base_url, SipsController._return_url) + + u'automaticResponseUrl=%s|' % urlparse.urljoin(base_url, SipsController._return_url) + + u'transactionReference=%s|' % tx_values['reference'] + + u'statementReference=%s|' % tx_values['reference'] + + u'keyVersion=%s' % key_version, + 'InterfaceVersion': 'HP_2.3', + }) + + return_context = {} + if sips_tx_values.get('return_url'): + return_context[u'return_url'] = u'%s' % sips_tx_values.pop('return_url') + return_context[u'reference'] = u'%s' % sips_tx_values['reference'] + sips_tx_values['Data'] += u'|returnContext=%s' % (json.dumps(return_context)) + + shasign = self._sips_generate_shasign(sips_tx_values) + sips_tx_values['Seal'] = shasign + return partner_values, sips_tx_values + + @api.multi + def sips_get_form_action_url(self): + self.ensure_one() + return self._get_sips_urls(self.environment)['sips_form_url'] + + +class TxSips(models.Model): + _inherit = 'payment.transaction' + + # sips status + _sips_valid_tx_status = ['00'] + _sips_wait_tx_status = ['90', '99'] + _sips_refused_tx_status = ['05', '14', '34', '54', '75', '97'] + _sips_error_tx_status = ['03', '12', '24', '25', '30', '40', '51', '63', '94'] + _sips_pending_tx_status = ['60'] + _sips_cancel_tx_status = ['17'] + + # -------------------------------------------------- + # FORM RELATED METHODS + # -------------------------------------------------- + def _sips_data_to_object(self, data): + res = {} + for element in data.split('|'): + element_split = element.split('=') + res[element_split[0]] = element_split[1] + return res + + @api.model + def _sips_form_get_tx_from_data(self, data): + """ Given a data dict coming from sips, verify it and find the related + transaction record. """ + + data = self._sips_data_to_object(data.get('Data')) + reference = data.get('transactionReference') + + if not reference: + custom = json.loads(data.pop('returnContext', False) or '{}') + reference = custom.get('reference') + + payment_tx = self.search([('reference', '=', reference)]) + if not payment_tx or len(payment_tx) > 1: + error_msg = _('Sips: received data for reference %s') % reference + if not payment_tx: + error_msg += _('; no order found') + else: + error_msg += _('; multiple order found') + _logger.error(error_msg) + raise ValidationError(error_msg) + return payment_tx + + @api.model + def _sips_form_get_invalid_parameters(self, tx, data): + invalid_parameters = [] + + data = self._sips_data_to_object(data.get('Data')) + + # TODO: txn_id: should be false at draft, set afterwards, and verified with txn details + if tx.acquirer_reference and data.get('transactionReference') != tx.acquirer_reference: + invalid_parameters.append(('transactionReference', data.get('transactionReference'), tx.acquirer_reference)) + # check what is bought + if float_compare(float(data.get('amount', '0.0')) / 100, tx.amount, 2) != 0: + invalid_parameters.append(('amount', data.get('amount'), '%.2f' % tx.amount)) + if tx.partner_reference and data.get('customerId') != tx.partner_reference: + invalid_parameters.append(('customerId', data.get('customerId'), tx.partner_reference)) + + return invalid_parameters + + @api.model + def _sips_form_validate(self, tx, data): + data = self._sips_data_to_object(data.get('Data')) + status = data.get('responseCode') + data = { + 'acquirer_reference': data.get('transactionReference'), + 'partner_reference': data.get('customerId'), + 'date_validate': data.get('transactionDateTime', + fields.Datetime.now()) + } + res = False + if status in self._sips_valid_tx_status: + msg = 'Payment for tx ref: %s, got response [%s], set as done.' % \ + (tx.reference, status) + _logger.info(msg) + data.update(state='done', state_message=msg) + res = True + elif status in self._sips_error_tx_status: + msg = 'Payment for tx ref: %s, got response [%s], set as ' \ + 'error.' % (tx.reference, status) + data.update(state='error', state_message=msg) + elif status in self._sips_wait_tx_status: + msg = 'Received wait status for payment ref: %s, got response ' \ + '[%s], set as error.' % (tx.reference, status) + data.update(state='error', state_message=msg) + elif status in self._sips_refused_tx_status: + msg = 'Received refused status for payment ref: %s, got response' \ + ' [%s], set as error.' % (tx.reference, status) + data.update(state='error', state_message=msg) + elif status in self._sips_pending_tx_status: + msg = 'Payment ref: %s, got response [%s] set as pending.' \ + % (tx.reference, status) + data.update(state='pending', state_message=msg) + elif status in self._sips_cancel_tx_status: + msg = 'Received notification for payment ref: %s, got response ' \ + '[%s], set as cancel.' % (tx.reference, status) + data.update(state='cancel', state_message=msg) + else: + msg = 'Received unrecognized status for payment ref: %s, got ' \ + 'response [%s], set as error.' % (tx.reference, status) + data.update(state='error', state_message=msg) + + _logger.info(msg) + tx.write(data) + return res diff --git a/addons/payment_sips/static/description/icon.png b/addons/payment_sips/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f04253c3bec101528bfbeb7d3219b5f3b1b03f86 GIT binary patch literal 24209 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 Sw$%m
cT8&tewo?`1(EiRA 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 z%0D<&r(Zf$q{=Tdy-FXfEL9*acG9CJm3C@~t6MMi`$B4+ltwpVO(Iv+irMr$vYIr{ z=H{N1V_esX76O|Btm1oPIHYF#PS~6yhgI*@JF*sXcF|6fo2VCY zE&FEtpZF(aEup|ZFjrO+igL$^GGg6cX(Wu54={(*<$pQAe5=>lobs{>H?7+pS4D8# z0XHFxZt|`!Er`DU;oW8wBdDL(+D%iZv!_>#xk^u~m6-gq7J(drGLo~F?HyR5X^wmt z4MJ}a{wRA%sH{+9%=vN5x~QUc)PlH0eD<~-8x|IoZJf5WN3|CF3?m;dJE?_d{2p%+ z+!{;xZ2<%grJb3E(x-C9JS196{>l`9Z3O0vTPpPxr-mougmn~Efu+9pVf+kIi30M2 zGh*Gv{QriN5kzn$BsUL!Y|oO7=m^C3qxcuNTsqvG{-0;Z=Bh693XtZ)qkmX=4CN0R K@-^>2hy5Q|BSXIc literal 0 HcmV?d00001 diff --git a/addons/payment_sips/static/src/img/sips_icon.png b/addons/payment_sips/static/src/img/sips_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f04253c3bec101528bfbeb7d3219b5f3b1b03f86 GIT binary patch literal 24209 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 Sw$%m
cT8&tewo?`1(EiRA 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 z%0D<&r(Zf$q{=Tdy-FXfEL9*acG9CJm3C@~t6MMi`$B4+ltwpVO(Iv+irMr$vYIr{ z=H{N1V_esX76O|Btm1oPIHYF#PS~6yhgI*@JF*sXcF|6fo2VCY zE&FEtpZF(aEup|ZFjrO+igL$^GGg6cX(Wu54={(*<$pQAe5=>lobs{>H?7+pS4D8# z0XHFxZt|`!Er`DU;oW8wBdDL(+D%iZv!_>#xk^u~m6-gq7J(drGLo~F?HyR5X^wmt z4MJ}a{wRA%sH{+9%=vN5x~QUc)PlH0eD<~-8x|IoZJf5WN3|CF3?m;dJE?_d{2p%+ z+!{;xZ2<%grJb3E(x-C9JS196{>l`9Z3O0vTPpPxr-mougmn~Efu+9pVf+kIi30M2 zGh*Gv{QriN5kzn$BsUL!Y|oO7=m^C3qxcuNTsqvG{-0;Z=Bh693XtZ)qkmX=4CN0R K@-^>2hy5Q|BSXIc literal 0 HcmV?d00001 diff --git a/addons/payment_sips/static/src/img/sips_logo.png b/addons/payment_sips/static/src/img/sips_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f04253c3bec101528bfbeb7d3219b5f3b1b03f86 GIT binary patch literal 24209 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 Sw$%m
cT8&tewo?`1(EiRA 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 z%0D<&r(Zf$q{=Tdy-FXfEL9*acG9CJm3C@~t6MMi`$B4+ltwpVO(Iv+irMr$vYIr{ z=H{N1V_esX76O|Btm1oPIHYF#PS~6yhgI*@JF*sXcF|6fo2VCY zE&FEtpZF(aEup|ZFjrO+igL$^GGg6cX(Wu54={(*<$pQAe5=>lobs{>H?7+pS4D8# z0XHFxZt|`!Er`DU;oW8wBdDL(+D%iZv!_>#xk^u~m6-gq7J(drGLo~F?HyR5X^wmt z4MJ}a{wRA%sH{+9%=vN5x~QUc)PlH0eD<~-8x|IoZJf5WN3|CF3?m;dJE?_d{2p%+ z+!{;xZ2<%grJb3E(x-C9JS196{>l`9Z3O0vTPpPxr-mougmn~Efu+9pVf+kIi30M2 zGh*Gv{QriN5kzn$BsUL!Y|oO7=m^C3qxcuNTsqvG{-0;Z=Bh693XtZ)qkmX=4CN0R K@-^>2hy5Q|BSXIc literal 0 HcmV?d00001 diff --git a/addons/payment_sips/views/payment_acquirer.xml b/addons/payment_sips/views/payment_acquirer.xml new file mode 100644 index 00000000000..3e93859027b --- /dev/null +++ b/addons/payment_sips/views/payment_acquirer.xml @@ -0,0 +1,20 @@ + + + + + + acquirer.form.sips + payment.acquirer + + + + + + + + + + + + + diff --git a/addons/payment_sips/views/sips.xml b/addons/payment_sips/views/sips.xml new file mode 100644 index 00000000000..02553d2c754 --- /dev/null +++ b/addons/payment_sips/views/sips.xml @@ -0,0 +1,20 @@ + + + + + + + +