diff --git a/addons/sale/controllers/portal.py b/addons/sale/controllers/portal.py index 880200348f2..a06bba484d8 100644 --- a/addons/sale/controllers/portal.py +++ b/addons/sale/controllers/portal.py @@ -287,7 +287,7 @@ class CustomerPortal(portal.CustomerPortal): # Create transaction vals = { 'acquirer_id': acquirer_id, - 'type': order._get_payment_type(), + 'type': order._get_payment_type(save_token), 'return_url': order.get_portal_url(), } @@ -297,7 +297,7 @@ class CustomerPortal(portal.CustomerPortal): order, submit_txt=_('Pay & Confirm'), render_values={ - 'type': order._get_payment_type(), + 'type': order._get_payment_type(save_token), 'alias_usage': _('If we store your payment information on our server, subscription payments will be made automatically.'), } ) diff --git a/addons/sale/models/sale.py b/addons/sale/models/sale.py index ceb16a60d48..1f329e94ffd 100644 --- a/addons/sale/models/sale.py +++ b/addons/sale/models/sale.py @@ -1027,7 +1027,7 @@ Reason(s) of this behavior could be: 'currency_id': currency.id, 'partner_id': partner.id, 'sale_order_ids': [(6, 0, self.ids)], - 'type': self[0]._get_payment_type(), + 'type': self[0]._get_payment_type(vals.get('type')=='form_save'), }) transaction = self.env['payment.transaction'].create(vals) @@ -1084,9 +1084,9 @@ Reason(s) of this behavior could be: return self.get_portal_url(query_string='&%s' % auth_param) return super(SaleOrder, self)._get_share_url(redirect, signup_partner, pid) - def _get_payment_type(self): + def _get_payment_type(self, tokenize=False): self.ensure_one() - return 'form' + return 'form_save' if tokenize else 'form' def _get_portal_return_action(self): """ Return the action used to display orders when returning from customer portal. """