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) 

addons/website_sale/controllers/main.py
self.table = {}
    def _check_place(self, posx, posy, sizex, sizey):
        res = True
        for y in range(sizey):
            for x in range(sizex):
                if posx + x >= PPR:
                    res = False
                    break
                row = self.table.setdefault(posy + y, {})
                if row.setdefault(posx + x) is not None:
                    res = False
                    break
            for x in range(PPR):
                self.table[posy + y].setdefault(x, None)
        return res
    def process(self, products, ppg=PPG):
        
        minpos = 0
        index = 0
        maxy = 0
        for p in products:
            x = min(max(p.website_size_x, 1), PPR)
            y = min(max(p.website_size_y, 1), PPR)
            if index >= ppg:
                x = y = 1
            pos = minpos
            while not self._check_place(pos % PPR, pos / PPR, x, y):
                pos += 1