summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorThibault Delavallée <tde@openerp.com>2016-07-05 11:33:36 +0200
committerThibault Delavallée <tde@openerp.com>2016-07-06 13:53:00 +0200
commit82d68747c36609fec5bef909efe7ac8bbf736144 (patch)
tree16b963e86345bb56b13611b2a5039ed07a02882a /addons
parent88126f95d3e23d78e5ad1a6d6006f9d09493fbd4 (diff)
[CLN] payment_*: dead code removal
Old s2s prototype code has been removed. It is not used anywhere and not supported. Moreover ogone s2s implementation use its own set of methods. In a near future a neat implementation of s2s for paypal will be added.
Diffstat (limited to 'addons')
-rw-r--r--addons/payment/models/payment_acquirer.py4
-rw-r--r--addons/payment_paypal/models/paypal.py189
2 files changed, 0 insertions, 193 deletions
diff --git a/addons/payment/models/payment_acquirer.py b/addons/payment/models/payment_acquirer.py
index 678d3602773..44e340d7ce5 100644
--- a/addons/payment/models/payment_acquirer.py
+++ b/addons/payment/models/payment_acquirer.py
@@ -565,10 +565,6 @@ class PaymentTransaction(osv.Model):
# --------------------------------------------------
# SERVER2SERVER RELATED METHODS
# --------------------------------------------------
- def s2s_create(self, cr, uid, values, cc_values, context=None):
- tx_id, tx_result = self.s2s_send(cr, uid, values, cc_values, context=context)
- self.s2s_feedback(cr, uid, tx_id, tx_result, context=context)
- return tx_id
def s2s_do_transaction(self, cr, uid, ids, context=None, **kwargs):
tx = self.browse(cr, uid, ids, context=context)[0]
diff --git a/addons/payment_paypal/models/paypal.py b/addons/payment_paypal/models/paypal.py
index 0876c93e88a..62e307a5ae9 100644
--- a/addons/payment_paypal/models/paypal.py
+++ b/addons/payment_paypal/models/paypal.py
@@ -116,36 +116,6 @@ class AcquirerPaypal(osv.Model):
acquirer = self.browse(cr, uid, ids, context=context)[0]
return self._get_paypal_urls(cr, uid, acquirer.environment, context=context)['paypal_form_url']
- def _paypal_s2s_get_access_token(self, cr, uid, ids, context=None):
- """
- Note: see # see http://stackoverflow.com/questions/2407126/python-urllib2-basic-auth-problem
- for explanation why we use Authorization header instead of urllib2
- password manager
- """
- res = dict.fromkeys(ids, False)
- parameters = werkzeug.url_encode({'grant_type': 'client_credentials'})
-
- for acquirer in self.browse(cr, uid, ids, context=context):
- tx_url = self._get_paypal_urls(cr, uid, acquirer.environment)['paypal_rest_url']
- request = urllib2.Request(tx_url, parameters)
-
- # add other headers (https://developer.paypal.com/webapps/developer/docs/integration/direct/make-your-first-call/)
- request.add_header('Accept', 'application/json')
- request.add_header('Accept-Language', 'en_US')
-
- # add authorization header
- base64string = base64.encodestring('%s:%s' % (
- acquirer.paypal_api_username,
- acquirer.paypal_api_password)
- ).replace('\n', '')
- request.add_header("Authorization", "Basic %s" % base64string)
-
- request = urllib2.urlopen(request)
- result = request.read()
- res[acquirer.id] = json.loads(result).get('access_token')
- request.close()
- return res
-
class TxPaypal(osv.Model):
_inherit = 'payment.transaction'
@@ -234,162 +204,3 @@ class TxPaypal(osv.Model):
_logger.info(error)
res.update(state='error', state_message=error)
return tx.write(res)
-
- # --------------------------------------------------
- # SERVER2SERVER RELATED METHODS
- # --------------------------------------------------
-
- def _paypal_try_url(self, request, tries=3, context=None):
- """ Try to contact Paypal. Due to some issues, internal service errors
- seem to be quite frequent. Several tries are done before considering
- the communication as failed.
-
- .. versionadded:: pre-v8 saas-3
- .. warning::
-
- Experimental code. You should not use it before OpenERP v8 official
- release.
- """
- done, res = False, None
- while (not done and tries):
- try:
- res = urllib2.urlopen(request)
- done = True
- except urllib2.HTTPError as e:
- res = e.read()
- e.close()
- if tries and res and json.loads(res)['name'] == 'INTERNAL_SERVICE_ERROR':
- _logger.warning('Failed contacting Paypal, retrying (%s remaining)' % tries)
- tries = tries - 1
- if not res:
- pass
- # raise openerp.exceptions.
- result = res.read()
- res.close()
- return result
-
- def _paypal_s2s_send(self, cr, uid, values, cc_values, context=None):
- """
- .. versionadded:: pre-v8 saas-3
- .. warning::
-
- Experimental code. You should not use it before OpenERP v8 official
- release.
- """
- tx_id = self.create(cr, uid, values, context=context)
- tx = self.browse(cr, uid, tx_id, context=context)
-
- headers = {
- 'Content-Type': 'application/json',
- 'Authorization': 'Bearer %s' % tx.acquirer_id._paypal_s2s_get_access_token()[tx.acquirer_id.id],
- }
- data = {
- 'intent': 'sale',
- 'transactions': [{
- 'amount': {
- 'total': '%.2f' % tx.amount,
- 'currency': tx.currency_id.name,
- },
- 'description': tx.reference,
- }]
- }
- if cc_values:
- data['payer'] = {
- 'payment_method': 'credit_card',
- 'funding_instruments': [{
- 'credit_card': {
- 'number': cc_values['number'],
- 'type': cc_values['brand'],
- 'expire_month': cc_values['expiry_mm'],
- 'expire_year': cc_values['expiry_yy'],
- 'cvv2': cc_values['cvc'],
- 'first_name': tx.partner_name,
- 'last_name': tx.partner_name,
- 'billing_address': {
- 'line1': tx.partner_address,
- 'city': tx.partner_city,
- 'country_code': tx.partner_country_id.code,
- 'postal_code': tx.partner_zip,
- }
- }
- }]
- }
- else:
- # TODO: complete redirect URLs
- data['redirect_urls'] = {
- # 'return_url': 'http://example.com/your_redirect_url/',
- # 'cancel_url': 'http://example.com/your_cancel_url/',
- },
- data['payer'] = {
- 'payment_method': 'paypal',
- }
- data = json.dumps(data)
-
- request = urllib2.Request('https://api.sandbox.paypal.com/v1/payments/payment', data, headers)
- result = self._paypal_try_url(request, tries=3, context=context)
- return (tx_id, result)
-
- def _paypal_s2s_get_invalid_parameters(self, cr, uid, tx, data, context=None):
- """
- .. versionadded:: pre-v8 saas-3
- .. warning::
-
- Experimental code. You should not use it before OpenERP v8 official
- release.
- """
- invalid_parameters = []
- return invalid_parameters
-
- def _paypal_s2s_validate(self, cr, uid, tx, data, context=None):
- """
- .. versionadded:: pre-v8 saas-3
- .. warning::
-
- Experimental code. You should not use it before OpenERP v8 official
- release.
- """
- values = json.loads(data)
- status = values.get('state')
- if status in ['approved']:
- _logger.info('Validated Paypal s2s payment for tx %s: set as done' % (tx.reference))
- tx.write({
- 'state': 'done',
- 'date_validate': values.get('udpate_time', fields.datetime.now()),
- 'paypal_txn_id': values['id'],
- })
- return True
- elif status in ['pending', 'expired']:
- _logger.info('Received notification for Paypal s2s payment %s: set as pending' % (tx.reference))
- tx.write({
- 'state': 'pending',
- # 'state_message': data.get('pending_reason', ''),
- 'paypal_txn_id': values['id'],
- })
- return True
- else:
- error = 'Received unrecognized status for Paypal s2s payment %s: %s, set as error' % (tx.reference, status)
- _logger.info(error)
- tx.write({
- 'state': 'error',
- # 'state_message': error,
- 'paypal_txn_id': values['id'],
- })
- return False
-
- def _paypal_s2s_get_tx_status(self, cr, uid, tx, context=None):
- """
- .. versionadded:: pre-v8 saas-3
- .. warning::
-
- Experimental code. You should not use it before OpenERP v8 official
- release.
- """
- # TDETODO: check tx.paypal_txn_id is set
- headers = {
- 'Content-Type': 'application/json',
- 'Authorization': 'Bearer %s' % tx.acquirer_id._paypal_s2s_get_access_token()[tx.acquirer_id.id],
- }
- url = 'https://api.sandbox.paypal.com/v1/payments/payment/%s' % (tx.paypal_txn_id)
- request = urllib2.Request(url, headers=headers)
- data = self._paypal_try_url(request, tries=3, context=context)
- return self.s2s_feedback(cr, uid, tx.id, data, context=context)