Impacted versions: [10.0]

Steps to reproduce: On Authorize.net configuration

Order Confirmation: Authorize the amount and confirm the SO on acquirer confirmation (capture manually) 
Store Card Data: Always

Current behaviour

For Ecommerce Sales Order 1 - Customer selects Authorize.net and enters card details - checkout proceeds and customer is returned to Order confirmation page. 

Sales Order Created, Payment Transaction Authorised, New Customer information record created on authorize.net sandbox.

For Ecommerce Sales Order 2  - Customer selects the card previously stored with authorize.net - checkout proceeds and customer is returned to Order confirmation page

Sales Quotation Created but **not converted to a sales order,** Payment Transaction Authorised


Expected behaviour

The Sales order confirmation behaviour should be the same for both methods of authorize.net checkout - standard card entry (1) or stored tokenised card (2) 

""" Method that should be called by the server when receiving an update
        for a transaction. State at this point :
         - UDPATE ME
        """
        if transaction_id is None:
            tx = request.website.sale_get_transaction()
        else:
            tx = request.env['payment.transaction'].browse(transaction_id)
        if sale_order_id is None:
            order = request.website.sale_get_order()
        else:
            order = request.env['sale.order'].sudo().browse(sale_order_id)
            assert order.id == request.session.get('sale_last_order_id')
        if not order or (order.amount_total and not tx):
            return request.redirect('/shop')
        if (not order.amount_total and not tx) or tx.state in ['pending', 'done', 'authorized']:
            if (not order.amount_total and not tx):
                
                
                order.with_context(send_email=True).action_confirm()
        elif tx and tx.state == 'cancel':
            
            order.action_cancel()
        
        request.website.sale_reset()
        if tx and tx.state == 'draft':
            return request.redirect('/shop')
        return request.redirect('/shop/confirmation')
    @http.route(['/shop/terms'], type='http', auth="public", website=True)
    def terms(self, **kw):