Transaction.id will be repeated in Apple in-app purchase

In the sandbox environment, when I quickly and repeatedly purchase an item, Transaction.id will be repeated. Will there be duplication in the production environment?

func pay(productId: String, orderId: String) async { guard !productId.isEmpty, !orderId.isEmpty else { return } let orderObj = ApplePayOrderModel.init(orderId: orderId, productId: productId)

    do {
        let result = try await Product.products(for: [productId])
        guard let product = result.first else {
            return
        }
        let purchaseResult = try await product.purchase()
        switch purchaseResult {
        case .success(let verification):
            switch verification {
            case .verified(let transaction):
                orderObj.transactionId = String(transaction.id)
                await transaction.finish()
            case .unverified(let transaction, let error):
                await transaction.finish()
            }
  
        case .userCancelled:
            break
        case .pending:
            break
        @unknown default:
            break
        }
    } catch {
        print("error \(error.localizedDescription)")
    }
}

In the sandbox environment, when I quickly and repeatedly purchase an item, I wait for the last order to call finish() each time before purchasing the next item. Occasionally, Transaction.id will be repeated. Will there be duplication in the production environment?

Transaction.id will be repeated in Apple in-app purchase
 
 
Q