Shopify's developer changelog says variants now support multiple barcodes. A variant can hold up to 20 barcodes, each up to 255 characters. Each barcode can declare a type: UPC, EAN, ISBN, GTIN, or ASIN. If no type is declared, the value is stored exactly as sent. The first barcode you send is what the existing barcode field returns. Sending barcodes replaces the variant's entire set, so include the barcodes you want to keep. ProductVariant.barcode is deprecated but still works.