summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/payment/models/payment_acquirer.py40
-rw-r--r--addons/payment_adyen/models/adyen.py14
-rw-r--r--addons/payment_authorize/models/authorize.py24
-rw-r--r--addons/payment_buckaroo/models/buckaroo.py15
-rw-r--r--addons/payment_ogone/models/ogone.py29
-rw-r--r--addons/payment_paypal/models/paypal.py20
-rw-r--r--addons/payment_payumoney/models/payment_transaction.py18
-rw-r--r--addons/payment_sips/models/sips.py36
-rw-r--r--addons/payment_stripe/models/payment_transaction.py14
-rw-r--r--addons/payment_transfer/models/payment_acquirer.py8
-rw-r--r--addons/website_payment/controllers/main.py2
-rw-r--r--addons/website_sale/controllers/main.py29
12 files changed, 131 insertions, 118 deletions
diff --git a/addons/payment/models/payment_acquirer.py b/addons/payment/models/payment_acquirer.py
index a2ea8f69f65..678d3602773 100644
--- a/addons/payment/models/payment_acquirer.py
+++ b/addons/payment/models/payment_acquirer.py
@@ -154,14 +154,14 @@ class PaymentAcquirer(osv.Model):
image_resize_images(vals)
return super(PaymentAcquirer, self).write(vals)
- def get_form_action_url(self, cr, uid, id, context=None):
+ def get_form_action_url(self, cr, uid, ids, context=None):
""" Returns the form action URL, for form-based acquirer implementations. """
- acquirer = self.browse(cr, uid, id, context=context)
+ acquirer = self.browse(cr, uid, ids, context=context)[0]
if hasattr(self, '%s_get_form_action_url' % acquirer.provider):
return getattr(self, '%s_get_form_action_url' % acquirer.provider)(cr, uid, id, context=context)
return False
- def render(self, cr, uid, id, reference, amount, currency_id, partner_id=False, values=None, context=None):
+ def render(self, cr, uid, ids, reference, amount, currency_id, partner_id=False, values=None, context=None):
""" Renders the form template of the given acquirer as a qWeb template.
:param string reference: the transaction reference
:param float amount: the amount the buyer has to pay
@@ -191,7 +191,7 @@ class PaymentAcquirer(osv.Model):
context = {}
if values is None:
values = {}
- acquirer = self.browse(cr, uid, id, context=context)
+ acquirer = self.browse(cr, uid, ids, context=context)[0]
# reference and amount
values.setdefault('reference', reference)
@@ -288,8 +288,8 @@ class PaymentAcquirer(osv.Model):
return acquirer.view_template_id.render(values, engine='ir.qweb')
- def _registration_render(self, cr, uid, id, partner_id, qweb_context=None, context=None):
- acquirer = self.browse(cr, uid, id, context=context)
+ def _registration_render(self, cr, uid, ids, partner_id, qweb_context=None, context=None):
+ acquirer = self.browse(cr, uid, ids, context=context)[0]
if qweb_context is None:
qweb_context = {}
qweb_context.update(id=id, partner_id=partner_id)
@@ -299,8 +299,8 @@ class PaymentAcquirer(osv.Model):
qweb_context.update(method(cr, uid, id, qweb_context, context=context))
return acquirer.registration_view_template_id.render(qweb_context, engine='ir.qweb')
- def s2s_process(self, cr, uid, id, data, context=None):
- acquirer = self.browse(cr, uid, id, context=context)
+ def s2s_process(self, cr, uid, ids, data, context=None):
+ acquirer = self.browse(cr, uid, ids, context=context)[0]
cust_method_name = '%s_s2s_form_process' % (acquirer.provider)
if not self.s2s_validate(cr, uid, id, data, context=context):
return False
@@ -309,8 +309,8 @@ class PaymentAcquirer(osv.Model):
return method(cr, uid, data, context=context)
return True
- def s2s_validate(self, cr, uid, id, data, context=None):
- acquirer = self.browse(cr, uid, id, context=context)
+ def s2s_validate(self, cr, uid, ids, data, context=None):
+ acquirer = self.browse(cr, uid, ids, context=context)[0]
cust_method_name = '%s_s2s_form_validate' % (acquirer.provider)
if hasattr(self, cust_method_name):
method = getattr(self, cust_method_name)
@@ -517,8 +517,8 @@ class PaymentTransaction(osv.Model):
# FORM RELATED METHODS
# --------------------------------------------------
- def render(self, cr, uid, id, context=None):
- tx = self.browse(cr, uid, id, context=context)
+ def render(self, cr, uid, ids, context=None):
+ tx = self.browse(cr, uid, ids, context=context)[0]
values = {
'reference': tx.reference,
'amount': tx.amount,
@@ -547,7 +547,7 @@ class PaymentTransaction(osv.Model):
invalid_param_method_name = '_%s_form_get_invalid_parameters' % acquirer_name
if hasattr(self, invalid_param_method_name):
- invalid_parameters = getattr(self, invalid_param_method_name)(cr, uid, tx, data, context=context)
+ invalid_parameters = getattr(self, invalid_param_method_name)(cr, uid, [tx.id], data, context=context)
if invalid_parameters:
_error_message = '%s: incorrect tx data:\n' % (acquirer_name)
@@ -558,7 +558,7 @@ class PaymentTransaction(osv.Model):
feedback_method_name = '_%s_form_validate' % acquirer_name
if hasattr(self, feedback_method_name):
- return getattr(self, feedback_method_name)(cr, uid, tx, data, context=context)
+ return getattr(self, feedback_method_name)(cr, uid, [tx.id], data, context=context)
return True
@@ -570,19 +570,19 @@ class PaymentTransaction(osv.Model):
self.s2s_feedback(cr, uid, tx_id, tx_result, context=context)
return tx_id
- def s2s_do_transaction(self, cr, uid, id, context=None, **kwargs):
- tx = self.browse(cr, uid, id, context=context)
+ def s2s_do_transaction(self, cr, uid, ids, context=None, **kwargs):
+ tx = self.browse(cr, uid, ids, context=context)[0]
custom_method_name = '%s_s2s_do_transaction' % tx.acquirer_id.provider
if hasattr(self, custom_method_name):
- return getattr(self, custom_method_name)(cr, uid, id, context=context, **kwargs)
+ return getattr(self, custom_method_name)(cr, uid, ids, context=context, **kwargs)
- def s2s_get_tx_status(self, cr, uid, tx_id, context=None):
+ def s2s_get_tx_status(self, cr, uid, ids, context=None):
""" Get the tx status. """
- tx = self.browse(cr, uid, tx_id, context=context)
+ tx = self.browse(cr, uid, ids, context=context)[0]
invalid_param_method_name = '_%s_s2s_get_tx_status' % tx.acquirer_id.provider
if hasattr(self, invalid_param_method_name):
- return getattr(self, invalid_param_method_name)(cr, uid, tx, context=context)
+ return getattr(self, invalid_param_method_name)(cr, uid, ids, context=context)
return True
diff --git a/addons/payment_adyen/models/adyen.py b/addons/payment_adyen/models/adyen.py
index f9f17126a13..c06ae797b0b 100644
--- a/addons/payment_adyen/models/adyen.py
+++ b/addons/payment_adyen/models/adyen.py
@@ -119,9 +119,9 @@ class AcquirerAdyen(osv.Model):
key = acquirer.adyen_skin_hmac_key.encode('ascii')
return base64.b64encode(hmac.new(key, sign, hashlib.sha1).digest())
- def adyen_form_generate_values(self, cr, uid, id, values, context=None):
+ def adyen_form_generate_values(self, cr, uid, ids, values, context=None):
base_url = self.pool['ir.config_parameter'].get_param(cr, uid, 'web.base.url')
- acquirer = self.browse(cr, uid, id, context=context)
+ acquirer = self.browse(cr, uid, ids, context=context)[0]
# tmp
import datetime
from dateutil import relativedelta
@@ -163,8 +163,8 @@ class AcquirerAdyen(osv.Model):
return values
- def adyen_get_form_action_url(self, cr, uid, id, context=None):
- acquirer = self.browse(cr, uid, id, context=context)
+ def adyen_get_form_action_url(self, cr, uid, ids, context=None):
+ acquirer = self.browse(cr, uid, ids, context=context)[0]
return self._get_adyen_urls(cr, uid, acquirer.environment, context=context)['adyen_form_url']
@@ -206,7 +206,8 @@ class TxAdyen(osv.Model):
return tx
- def _adyen_form_get_invalid_parameters(self, cr, uid, tx, data, context=None):
+ def _adyen_form_get_invalid_parameters(self, cr, uid, ids, data, context=None):
+ tx = self.browse(cr, uid, ids, context=context)[0]
invalid_parameters = []
# reference at acquirer: pspReference
@@ -221,7 +222,8 @@ class TxAdyen(osv.Model):
return invalid_parameters
- def _adyen_form_validate(self, cr, uid, tx, data, context=None):
+ def _adyen_form_validate(self, cr, uid, ids, data, context=None):
+ tx = self.browse(cr, uid, ids, context=context)[0]
status = data.get('authResult', 'PENDING')
if status == 'AUTHORISED':
tx.write({
diff --git a/addons/payment_authorize/models/authorize.py b/addons/payment_authorize/models/authorize.py
index 828fd614ded..b9a16ee37fb 100644
--- a/addons/payment_authorize/models/authorize.py
+++ b/addons/payment_authorize/models/authorize.py
@@ -122,37 +122,37 @@ class TxAuthorize(models.Model):
raise ValidationError(error_msg)
return tx[0]
- @api.model
- def _authorize_form_get_invalid_parameters(self, tx, data):
+ @api.multi
+ def _authorize_form_get_invalid_parameters(self, data):
invalid_parameters = []
if self.acquirer_reference and data.get('x_trans_id') != self.acquirer_reference:
invalid_parameters.append(('Transaction Id', data.get('x_trans_id'), self.acquirer_reference))
# check what is buyed
- if float_compare(float(data.get('x_amount', '0.0')), tx.amount, 2) != 0:
- invalid_parameters.append(('Amount', data.get('x_amount'), '%.2f' % tx.amount))
+ if float_compare(float(data.get('x_amount', '0.0')), self.amount, 2) != 0:
+ invalid_parameters.append(('Amount', data.get('x_amount'), '%.2f' % self.amount))
return invalid_parameters
- @api.model
- def _authorize_form_validate(self, tx, data):
- if tx.state == 'done':
- _logger.warning('Authorize: trying to validate an already validated tx (ref %s)' % tx.reference)
+ @api.multi
+ def _authorize_form_validate(self, data):
+ if self.state == 'done':
+ _logger.warning('Authorize: trying to validate an already validated tx (ref %s)' % self.reference)
return True
status_code = int(data.get('x_response_code', '0'))
if status_code == self._authorize_valid_tx_status:
- tx.write({
+ self.write({
'state': 'done',
'acquirer_reference': data.get('x_trans_id'),
})
return True
elif status_code == self._authorize_pending_tx_status:
- tx.write({
+ self.write({
'state': 'pending',
'acquirer_reference': data.get('x_trans_id'),
})
return True
elif status_code == self._authorize_cancel_tx_status:
- tx.write({
+ self.write({
'state': 'cancel',
'acquirer_reference': data.get('x_trans_id'),
})
@@ -160,7 +160,7 @@ class TxAuthorize(models.Model):
else:
error = data.get('x_response_reason_text')
_logger.info(error)
- tx.write({
+ self.write({
'state': 'error',
'state_message': error,
'acquirer_reference': data.get('x_trans_id'),
diff --git a/addons/payment_buckaroo/models/buckaroo.py b/addons/payment_buckaroo/models/buckaroo.py
index 80cfbc2ddfb..cb9914ee222 100644
--- a/addons/payment_buckaroo/models/buckaroo.py
+++ b/addons/payment_buckaroo/models/buckaroo.py
@@ -90,10 +90,9 @@ class AcquirerBuckaroo(osv.Model):
shasign = sha1(sign.encode('utf-8')).hexdigest()
return shasign
-
- def buckaroo_form_generate_values(self, cr, uid, id, values, context=None):
+ def buckaroo_form_generate_values(self, cr, uid, ids, values, context=None):
base_url = self.pool['ir.config_parameter'].get_param(cr, uid, 'web.base.url')
- acquirer = self.browse(cr, uid, id, context=context)
+ acquirer = self.browse(cr, uid, ids, context=context)[0]
buckaroo_tx_values = dict(values)
buckaroo_tx_values.update({
'Brq_websitekey': acquirer.brq_websitekey,
@@ -111,8 +110,8 @@ class AcquirerBuckaroo(osv.Model):
buckaroo_tx_values['Brq_signature'] = self._buckaroo_generate_digital_sign(acquirer, 'in', buckaroo_tx_values)
return buckaroo_tx_values
- def buckaroo_get_form_action_url(self, cr, uid, id, context=None):
- acquirer = self.browse(cr, uid, id, context=context)
+ def buckaroo_get_form_action_url(self, cr, uid, ids, context=None):
+ acquirer = self.browse(cr, uid, ids, context=context)[0]
return self._get_buckaroo_urls(cr, uid, acquirer.environment, context=context)['buckaroo_form_url']
class TxBuckaroo(osv.Model):
@@ -161,7 +160,8 @@ class TxBuckaroo(osv.Model):
return tx
- def _buckaroo_form_get_invalid_parameters(self, cr, uid, tx, data, context=None):
+ def _buckaroo_form_get_invalid_parameters(self, cr, uid, ids, data, context=None):
+ tx = self.browse(cr, uid, ids, context=context)[0]
invalid_parameters = []
data = normalize_keys_upper(data)
if tx.acquirer_reference and data.get('BRQ_TRANSACTIONS') != tx.acquirer_reference:
@@ -174,7 +174,8 @@ class TxBuckaroo(osv.Model):
return invalid_parameters
- def _buckaroo_form_validate(self, cr, uid, tx, data, context=None):
+ def _buckaroo_form_validate(self, cr, uid, ids, data, context=None):
+ tx = self.browse(cr, uid, ids, context=context)[0]
data = normalize_keys_upper(data)
status_code = int(data.get('BRQ_STATUSCODE','0'))
if status_code in self._buckaroo_valid_tx_status:
diff --git a/addons/payment_ogone/models/ogone.py b/addons/payment_ogone/models/ogone.py
index b11b6f25969..54aee7f7f70 100644
--- a/addons/payment_ogone/models/ogone.py
+++ b/addons/payment_ogone/models/ogone.py
@@ -147,9 +147,9 @@ class PaymentAcquirerOgone(osv.Model):
shasign = sha1(sign).hexdigest()
return shasign
- def ogone_form_generate_values(self, cr, uid, id, values, context=None):
+ def ogone_form_generate_values(self, cr, uid, ids, values, context=None):
base_url = self.pool['ir.config_parameter'].get_param(cr, uid, 'web.base.url')
- acquirer = self.browse(cr, uid, id, context=context)
+ acquirer = self.browse(cr, uid, ids, context=context)[0]
ogone_tx_values = dict(values)
temp_ogone_tx_values = {
'PSPID': acquirer.ogone_pspid,
@@ -180,11 +180,11 @@ class PaymentAcquirerOgone(osv.Model):
ogone_tx_values.update(temp_ogone_tx_values)
return ogone_tx_values
- def ogone_get_form_action_url(self, cr, uid, id, context=None):
- acquirer = self.browse(cr, uid, id, context=context)
+ def ogone_get_form_action_url(self, cr, uid, ids, context=None):
+ acquirer = self.browse(cr, uid, ids, context=context)[0]
return self._get_ogone_urls(cr, uid, acquirer.environment, context=context)['ogone_standard_order_url']
- def ogone_s2s_form_validate(self, cr, uid, id, data, context=None):
+ def ogone_s2s_form_validate(self, cr, uid, ids, data, context=None):
error = dict()
error_message = []
@@ -269,7 +269,8 @@ class PaymentTxOgone(osv.Model):
return tx
- def _ogone_form_get_invalid_parameters(self, cr, uid, tx, data, context=None):
+ def _ogone_form_get_invalid_parameters(self, cr, uid, ids, data, context=None):
+ tx = self.browse(cr, uid, ids, context=context)[0]
invalid_parameters = []
# TODO: txn_id: should be false at draft, set afterwards, and verified with txn details
@@ -283,7 +284,8 @@ class PaymentTxOgone(osv.Model):
return invalid_parameters
- def _ogone_form_validate(self, cr, uid, tx, data, context=None):
+ def _ogone_form_validate(self, cr, uid, ids, data, context=None):
+ tx = self.browse(cr, uid, ids, context=context)[0]
if tx.state == 'done':
_logger.info('Ogone: trying to validate an already validated tx (ref %s)', tx.reference)
return True
@@ -334,9 +336,9 @@ class PaymentTxOgone(osv.Model):
# --------------------------------------------------
# S2S RELATED METHODS
# --------------------------------------------------
- def ogone_s2s_do_transaction(self, cr, uid, id, context=None, **kwargs):
+ def ogone_s2s_do_transaction(self, cr, uid, ids, context=None, **kwargs):
# TODO: create tx with s2s type
- tx = self.browse(cr, uid, id, context=context)
+ tx = self.browse(cr, uid, ids, context=context)[0]
account = tx.acquirer_id
reference = tx.reference or "ODOO-%s-%s" % (datetime.datetime.now().strftime('%y%m%d_%H%M%S'), tx.partner_id.id)
@@ -384,11 +386,13 @@ class PaymentTxOgone(osv.Model):
return self._ogone_s2s_validate_tree(tx, tree)
- def _ogone_s2s_validate(self, tx):
+ def _ogone_s2s_validate(self, cr, uid, ids, context=None):
+ tx = self.browse(cr, uid, ids, context=context)[0]
tree = self._ogone_s2s_get_tx_status(tx)
return self._ogone_s2s_validate_tree(tx, tree)
- def _ogone_s2s_validate_tree(self, tx, tree, tries=2):
+ def _ogone_s2s_validate_tree(self, cr, uid, ids, tree, tries=2, context=None):
+ tx = self.browse(cr, uid, ids, context=context)[0]
if tx.state not in ('draft', 'pending'):
_logger.info('Ogone: trying to validate an already validated tx (ref %s)', tx.reference)
return True
@@ -441,7 +445,8 @@ class PaymentTxOgone(osv.Model):
})
return False
- def _ogone_s2s_get_tx_status(self, tx):
+ def _ogone_s2s_get_tx_status(self, cr, uid, ids, context=None):
+ tx = self.browse(cr, uid, ids, context=context)[0]
account = tx.acquirer_id
#reference = tx.reference or "ODOO-%s-%s" % (datetime.datetime.now().strftime('%Y%m%d_%H%M%S'), tx.partner_id.id)
diff --git a/addons/payment_paypal/models/paypal.py b/addons/payment_paypal/models/paypal.py
index a92086c49c9..0876c93e88a 100644
--- a/addons/payment_paypal/models/paypal.py
+++ b/addons/payment_paypal/models/paypal.py
@@ -62,7 +62,7 @@ class AcquirerPaypal(osv.Model):
'paypal_api_enabled': False,
}
- def paypal_compute_fees(self, cr, uid, id, amount, currency_id, country_id, context=None):
+ def paypal_compute_fees(self, cr, uid, ids, amount, currency_id, country_id, context=None):
""" Compute paypal fees.
:param float amount: the amount to pay
@@ -71,7 +71,7 @@ class AcquirerPaypal(osv.Model):
the acquirer company country.
:return float fees: computed fees
"""
- acquirer = self.browse(cr, uid, id, context=context)
+ acquirer = self.browse(cr, uid, ids, context=context)[0]
if not acquirer.fees_active:
return 0.0
country = self.pool['res.country'].browse(cr, uid, country_id, context=context)
@@ -81,12 +81,12 @@ class AcquirerPaypal(osv.Model):
else:
percentage = acquirer.fees_int_var
fixed = acquirer.fees_int_fixed
- fees = (percentage / 100.0 * amount + fixed ) / (1 - percentage / 100.0)
+ fees = (percentage / 100.0 * amount + fixed) / (1 - percentage / 100.0)
return fees
- def paypal_form_generate_values(self, cr, uid, id, values, context=None):
+ def paypal_form_generate_values(self, cr, uid, ids, values, context=None):
base_url = self.pool['ir.config_parameter'].get_param(cr, SUPERUSER_ID, 'web.base.url')
- acquirer = self.browse(cr, uid, id, context=context)
+ acquirer = self.browse(cr, uid, ids, context=context)[0]
paypal_tx_values = dict(values)
paypal_tx_values.update({
@@ -112,8 +112,8 @@ class AcquirerPaypal(osv.Model):
})
return paypal_tx_values
- def paypal_get_form_action_url(self, cr, uid, id, context=None):
- acquirer = self.browse(cr, uid, id, context=context)
+ def paypal_get_form_action_url(self, cr, uid, ids, context=None):
+ 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):
@@ -177,7 +177,8 @@ class TxPaypal(osv.Model):
raise ValidationError(error_msg)
return self.browse(cr, uid, tx_ids[0], context=context)
- def _paypal_form_get_invalid_parameters(self, cr, uid, tx, data, context=None):
+ def _paypal_form_get_invalid_parameters(self, cr, uid, ids, data, context=None):
+ tx = self.browse(cr, uid, ids, context=context)[0]
invalid_parameters = []
_logger.info('Received a notification from Paypal with IPN version %s', data.get('notify_version'))
if data.get('test_ipn'):
@@ -213,7 +214,8 @@ class TxPaypal(osv.Model):
return invalid_parameters
- def _paypal_form_validate(self, cr, uid, tx, data, context=None):
+ def _paypal_form_validate(self, cr, uid, ids, data, context=None):
+ tx = self.browse(cr, uid, ids, context=context)[0]
status = data.get('payment_status')
res = {
'acquirer_reference': data.get('txn_id'),
diff --git a/addons/payment_payumoney/models/payment_transaction.py b/addons/payment_payumoney/models/payment_transaction.py
index b502307b467..e89a95511ec 100644
--- a/addons/payment_payumoney/models/payment_transaction.py
+++ b/addons/payment_payumoney/models/payment_transaction.py
@@ -39,22 +39,22 @@ class PaymentTransactionPayumoney(models.Model):
raise ValidationError(_('PayUmoney: invalid shasign, received %s, computed %s, for data %s') % (shasign, shasign_check, data))
return transaction
- @api.model
- def _payumoney_form_get_invalid_parameters(self, transaction, data):
+ @api.multi
+ def _payumoney_form_get_invalid_parameters(self, data):
invalid_parameters = []
- if transaction.acquirer_reference and data.get('mihpayid') != transaction.acquirer_reference:
+ if self.acquirer_reference and data.get('mihpayid') != self.acquirer_reference:
invalid_parameters.append(
- ('Transaction Id', data.get('mihpayid'), transaction.acquirer_reference))
+ ('Transaction Id', data.get('mihpayid'), self.acquirer_reference))
#check what is buyed
- if float_compare(float(data.get('amount', '0.0')), transaction.amount, 2) != 0:
+ if float_compare(float(data.get('amount', '0.0')), self.amount, 2) != 0:
invalid_parameters.append(
- ('Amount', data.get('amount'), '%.2f' % transaction.amount))
+ ('Amount', data.get('amount'), '%.2f' % self.amount))
return invalid_parameters
- @api.model
- def _payumoney_form_validate(self, transaction, data):
+ @api.multi
+ def _payumoney_form_validate(self, data):
status = data.get('status')
transaction_status = {
'success': {
@@ -83,4 +83,4 @@ class PaymentTransactionPayumoney(models.Model):
if not vals:
vals = transaction_status['error']
_logger.info(vals['state_message'])
- return transaction.write(vals)
+ return self.write(vals)
diff --git a/addons/payment_sips/models/sips.py b/addons/payment_sips/models/sips.py
index df669fd3804..e194cb281e5 100644
--- a/addons/payment_sips/models/sips.py
+++ b/addons/payment_sips/models/sips.py
@@ -165,25 +165,25 @@ class TxSips(models.Model):
raise ValidationError(error_msg)
return payment_tx
- @api.model
- def _sips_form_get_invalid_parameters(self, tx, data):
+ @api.multi
+ def _sips_form_get_invalid_parameters(self, 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))
+ if self.acquirer_reference and data.get('transactionReference') != self.acquirer_reference:
+ invalid_parameters.append(('transactionReference', data.get('transactionReference'), self.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))
+ if float_compare(float(data.get('amount', '0.0')) / 100, self.amount, 2) != 0:
+ invalid_parameters.append(('amount', data.get('amount'), '%.2f' % self.amount))
+ if self.partner_reference and data.get('customerId') != self.partner_reference:
+ invalid_parameters.append(('customerId', data.get('customerId'), self.partner_reference))
return invalid_parameters
- @api.model
- def _sips_form_validate(self, tx, data):
+ @api.multi
+ def _sips_form_validate(self, data):
data = self._sips_data_to_object(data.get('Data'))
status = data.get('responseCode')
data = {
@@ -195,35 +195,35 @@ class TxSips(models.Model):
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)
+ (self.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)
+ 'error.' % (self.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)
+ '[%s], set as error.' % (self.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)
+ ' [%s], set as error.' % (self.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)
+ % (self.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)
+ '[%s], set as cancel.' % (self.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)
+ 'response [%s], set as error.' % (self.reference, status)
data.update(state='error', state_message=msg)
_logger.info(msg)
- tx.write(data)
+ self.write(data)
return res
diff --git a/addons/payment_stripe/models/payment_transaction.py b/addons/payment_stripe/models/payment_transaction.py
index 5682123d71d..c1e3e5608af 100644
--- a/addons/payment_stripe/models/payment_transaction.py
+++ b/addons/payment_stripe/models/payment_transaction.py
@@ -88,14 +88,14 @@ class PaymentTransactionStripe(models.Model):
})
return False
- @api.model
- def _stripe_form_get_invalid_parameters(self, tx, data):
+ @api.multi
+ def _stripe_form_get_invalid_parameters(self, data):
invalid_parameters = []
reference = data['metadata']['reference']
- if reference != tx.reference:
- invalid_parameters.append(('Reference', reference, tx.reference))
+ if reference != self.reference:
+ invalid_parameters.append(('Reference', reference, self.reference))
return invalid_parameters
- @api.model
- def _stripe_form_validate(self, tx, data):
- return tx._stripe_s2s_validate_tree(data)
+ @api.multi
+ def _stripe_form_validate(self, data):
+ return self._stripe_s2s_validate_tree(data)
diff --git a/addons/payment_transfer/models/payment_acquirer.py b/addons/payment_transfer/models/payment_acquirer.py
index a8d47098c6c..126329e8a6f 100644
--- a/addons/payment_transfer/models/payment_acquirer.py
+++ b/addons/payment_transfer/models/payment_acquirer.py
@@ -19,7 +19,7 @@ class TransferPaymentAcquirer(osv.Model):
providers.append(['transfer', _('Wire Transfer')])
return providers
- def transfer_get_form_action_url(self, cr, uid, id, context=None):
+ def transfer_get_form_action_url(self, cr, uid, ids, context=None):
return '/payment/transfer/feedback'
def _format_transfer_data(self, cr, uid, context=None):
@@ -71,7 +71,8 @@ class TransferPaymentTransaction(osv.Model):
return self.browse(cr, uid, tx_ids[0], context=context)
- def _transfer_form_get_invalid_parameters(self, cr, uid, tx, data, context=None):
+ def _transfer_form_get_invalid_parameters(self, cr, uid, ids, data, context=None):
+ tx = self.browse(cr, uid, ids, context=context)[0]
invalid_parameters = []
if float_compare(float(data.get('amount', '0.0')), tx.amount, 2) != 0:
@@ -81,6 +82,7 @@ class TransferPaymentTransaction(osv.Model):
return invalid_parameters
- def _transfer_form_validate(self, cr, uid, tx, data, context=None):
+ def _transfer_form_validate(self, cr, uid, ids, data, context=None):
+ tx = self.browse(cr, uid, ids, context=context)[0]
_logger.info('Validated transfer payment for tx %s: set as pending' % (tx.reference))
return tx.write({'state': 'pending'})
diff --git a/addons/website_payment/controllers/main.py b/addons/website_payment/controllers/main.py
index d2d86734c3a..a3487e5052d 100644
--- a/addons/website_payment/controllers/main.py
+++ b/addons/website_payment/controllers/main.py
@@ -46,7 +46,7 @@ class website_payment(http.Controller):
partner_id = user.partner_id.id if user.partner_id.id != request.website.partner_id.id else False
- payment_form = acquirer.render(reference, float(amount), currency.id, values={'return_url': '/website_payment/confirm', 'partner_id': partner_id})[0]
+ payment_form = acquirer.render(reference, float(amount), currency.id, values={'return_url': '/website_payment/confirm', 'partner_id': partner_id})
values = {
'reference': reference,
'acquirer': acquirer,
diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py
index 991105f8774..25770f915a5 100644
--- a/addons/website_sale/controllers/main.py
+++ b/addons/website_sale/controllers/main.py
@@ -703,19 +703,20 @@ class WebsiteSale(http.Controller):
acquirers = request.env['payment.acquirer'].search(
[('website_published', '=', True), ('company_id', '=', order.company_id.id)]
)
- values['acquirers'] = list(acquirers)
- acquirer_buttons = acquirers.with_context(submit_class='btn btn-primary', submit_txt=_('Pay Now')).sudo().render(
- '/',
- order.amount_total,
- order.pricelist_id.currency_id.id,
- values={
- 'return_url': '/shop/payment/validate',
- 'partner_id': shipping_partner_id,
- 'billing_partner_id': order.partner_invoice_id.id,
- }
- )
- for index, button in enumerate(acquirer_buttons):
- values['acquirers'][index].button = button
+ values['acquirers'] = []
+ for acquirer in acquirers:
+ acquirer_button = acquirer.with_context(submit_class='btn btn-primary', submit_txt=_('Pay Now')).sudo().render(
+ '/',
+ order.amount_total,
+ order.pricelist_id.currency_id.id,
+ values={
+ 'return_url': '/shop/payment/validate',
+ 'partner_id': shipping_partner_id,
+ 'billing_partner_id': order.partner_invoice_id.id,
+ }
+ )
+ acquirer.button = acquirer_button
+ values['acquirers'].append(acquirer)
return request.website.render("website_sale.payment", values)
@@ -772,7 +773,7 @@ class WebsiteSale(http.Controller):
'partner_id': order.partner_shipping_id.id or order.partner_invoice_id.id,
'billing_partner_id': order.partner_invoice_id.id,
},
- )[0]
+ )
@http.route('/shop/payment/get_status/<int:sale_order_id>', type='json', auth="public", website=True)
def payment_get_status(self, sale_order_id, **post):