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) 

error[field_name] = 'missing'
        
        if data.get('email') and not tools.single_email_re.match(data.get('email')):
            error["email"] = 'error'
            error_message.append(_('Invalid Email! Please enter a valid email address.'))
        
        Partner = request.env['res.partner']
        if data.get("vat") and hasattr(Partner, "check_vat"):
            check_func = request.website.company_id.vat_check_vies and Partner.vies_vat_check or Partner.simple_vat_check
            vat_country, vat_number = Partner._split_vat(data.get("vat"))
            if not check_func(vat_country, vat_number):
                error["vat"] = 'error'
        if [err for err in error.values() if err == 'missing']:
            error_message.append(_('Some required fields are empty.'))
        return error, error_message
    def _checkout_form_save(self, mode, checkout, all_values):
        Partner = request.env['res.partner']
        if mode[0] == 'new':
            partner_id = Partner.sudo().create(checkout)
        elif mode[0] == 'edit':
            partner_id = int(all_values.get('partner_id', 0))
            if partner_id:
                
                order = request.website.sale_get_order()
                shippings = Partner.sudo().search([("id", "child_of", order.partner_id.commercial_partner_id.ids)])
                if partner_id not in shippings.mapped('id') and partner_id != order.partner_id.id:
                    return Forbidden()
                Partner.browse(partner_id).sudo().update(checkout)
        return partner_id
    def values_preprocess(self, order, mode, values):